Documentação do Software WS4CSCW (Web Services for CSCW)

54
Instituto de Ciências Matemáticas e de Computação ISSN - 0103-2569 Documentação do Software WS4CSCW (Web Services for CSCW) Victor Hugo Vieira Renata Pontin de Mattos Fortes {thugo, Renata}@icmc.usp.br N 0 263 RELATÓRIOS TÉCNICOS DO ICMC São Carlos JUNHO/2005

Transcript of Documentação do Software WS4CSCW (Web Services for CSCW)

Instituto de Ciecircncias Matemaacuteticas e de Computaccedilatildeo

ISSN - 0103-2569

Documentaccedilatildeo do SoftwareWS4CSCW (Web Services for CSCW)

Victor Hugo VieiraRenata Pontin de Mattos Fortesthugo Renataicmcuspbr

N0 263

RELATOacuteRIOS TEacuteCNICOS DO ICMC

Satildeo CarlosJUNHO2005

1 Introduccedilatildeo

O WS4CSCW (Web Services for Computer Supportes Collaborative Work) eacute um Web

Service que tem como objetivo facilitar a integraccedilatildeo de ferramentas e sistemas CSCW

(Computer Supportes Collaborative Work) O WS4CSCW permite o gerenciamento

de usuaacuterios grupos recursos permissotildees e papeacuteis de usuaacuterios e grupos

Uma caracteriacutestica comum na maioria das aplicaccedilotildees CSCW refere-se ao

controle e gerenciamento de usuaacuterios e grupos Quando essas ferramentas satildeo

integradas para trabalharem em conjunto com o objetivo de acrescentar

funcionalidades e facilidades ao usuaacuterio ou grupos de usuaacuterios eacute possiacutevel que essas

informaccedilotildees fiquem redundantes ou mesmo inconsistentes caso sejam tratadas isolada

e localmente

O gerenciamento centralizado objetiva resolver esse problema Atraveacutes de

chamadas remotas ao WS4CSCW as aplicaccedilotildees que estatildeo cadastradas em um

determinado contexto de integraccedilatildeo podem acrescentar modificar remover e

consultar informaccedilotildees referentes a usuaacuterios e grupos de usuaacuterios

Outra caracteriacutestica referente a aplicaccedilotildees CSCW diz respeito a permissotildees e

acessos a recursos por parte dos usuaacuterios grupos e aplicaccedilotildees O WS4CSCW tambeacutem

permite o gerenciamento e compartilhamento de permissotildees a recursos por usuaacuterios e

grupos Desta forma eacute possiacutevel que uma aplicaccedilatildeo altere a permissatildeo que um usuaacuterio

ou grupo teraacute em um recurso de outra aplicaccedilatildeo ou sistema

O conceito de recurso eacute bem amplo e pode representar por exemplo uma

funcionalidade de uma aplicaccedilatildeo acesso a documentos arquivos base de dados sub-

sitemas ou mesmo restriccedilotildees dentro de uma mesma funcionalidade Por exemplo

considerando-se uma aplicaccedilatildeo de ediccedilatildeo de projetos por grupos Aplication Ap1 eacute

possiacutevel cadastrar uma permissatildeo que indica que um certo grupo Group G5 tem

permissatildeo de uso da Funcionalidade F1 desta aplicaccedilatildeo apenas para o projeto P4

2

Desta forma com um conjunto de permissotildees armazenadas para cada usuaacuterio e

grupo eacute possiacutevel responder aos seguintes tipos de consultas Quem satildeo os usuaacuterios

do grupo G Quais os grupos aos quais o usuaacuterio U pertence Qual permissatildeo o

usuaacuterio U tem para o recurso R Qual permissatildeo o grupo G tem para o recurso R

O usuaacuterio U tem a permissatildeo de valor V para o recurso R Quais usuaacuterios tecircm

permissatildeo para o recurso R Quais grupos tecircm permissatildeo para o recurso R

O WS4CSCW tambeacutem permite a utilizaccedilatildeo do conceito de papeacuteis Um papel

possui vaacuterias permissotildees associadas a ele e permite que um usuaacuterio ou grupo herde

essas permissotildees de uma uacutenica vez por exemplo quando eacute cadastrado ou inserido em

algum grupo Com isso eacute possiacutevel por exemplo que a um novo usuaacuterio membro de

um grupo de desenvolvimento de projetos sejam atribuiacutedas todas as permissotildees

previamente associadas ao papel de usuaacuterio desenvolvedor ou que a um novo grupo

de analistas sejam atribuiacutedas as permissotildees do papel de grupo analistas

O WS4CSCW tem como objetivo prover suporte para ferramentas CSCW

bem como para a integraccedilatildeo de ferramentas CSCW Mesmo trabalhando de forma

isolada sem comunicaccedilatildeo com outras aplicaccedilotildees uma aplicaccedilatildeo CSCW tambeacutem pode

usufruir os serviccedilos WS4CSCW eliminando da fase desenvolvimento as

complicaccedilotildees relativas ao gerenciamento de usuaacuterios grupos recursos e permissotildees

Isso permite focar os esforccedilos do desenvolvimento nas particularidades e

funcionalidades da nova aplicaccedilatildeo e aproveitar os serviccedilos do WS4CSCW

2 CSCW

Ao ambiente computacional que implementa os processos de apoio agrave cooperaccedilatildeo e

assim possibilita o trabalho a produccedilatildeo em conjunto e a troca de informaccedilotildees

denomina-se Groupware ou CSCW (Borges Cavalcanti amp Campos 1995) Segundo

Fluckiger (Fluckiger 1995) CSCW concentra o desenvolvimento de sistemas

baseados em computador para dar suporte e melhorar o trabalho de grupos de usuaacuterios

com interesses objetivos ou atividades comuns bem como o entendimento dos efeitos

do uso desse tipo de sistema

Um dos grandes desafios do CSCW eacute habilitar pessoas a trabalharem

efetivamente em equipes que satildeo mediadas atraveacutes dos computadores considerando

que este trabalho pode ser dificultado pela falta de intimidade no uso de computadores

(Mills 1999) Projetos na aacuterea de CSCW podem ser caracterizados por trecircs grandes

desafios a serem vencidos comunicaccedilatildeo coordenaccedilatildeo e colaboraccedilatildeo (Chang Zhang

amp Jiang 2001) Os aplicativos baseados em CSCW devem considerar esses desafios

para prover as funcionalidades necessaacuterias ao trabalho colaborativo

Groupware eacute o ambiente computacional que implementa os processos de apoio

agrave cooperaccedilatildeo entre pessoas e assim possibilita o trabalho a produccedilatildeo em conjunto e

a troca de informaccedilotildees ou seja uma ferramenta que daacute suporte ao trabalho realizado

por um grupo de pessoas e provecirc benefiacutecios como resultado desta cooperaccedilatildeo

O trabalho em grupo permite a interaccedilatildeo entre diferentes pessoas de diferentes

organizaccedilotildees obtendo assim os seguintes resultados eliminaccedilatildeo das distacircncias

aproximaccedilatildeo das pessoas reduccedilatildeo do tempo gasto aumento da produtividade e

diminuiccedilatildeo de custos

3 Web Services

Devido agrave crescente necessidade de comunicaccedilatildeo e interoperabilidade de aplicaccedilotildees

foi notado um consideraacutevel crescimento no uso de Web Services na World Wide Web

Apesar de existirem tecnologias que possibilitam o acesso remoto a serviccedilos

distribuiacutedos os Web Services apresentam algumas vantagens sobre tais tecnologias

De acordo com (Stal 2002) tecnologias como CORBA (Object Management Group

2001) e Java RMI (Microsystems 2002) por exemplo satildeo complexas e precisam de

um alto poder de comunicaccedilatildeo aleacutem de apresentarem baixa escalabilidade e baixa

capacidade de interoperabilidade Web Services disponibilizam interoperabilidade

simplicidade e flexibilidade com um baixo custo de processamento ao utilizar

mecanismos como o protocolo HTTP (Hypertext Transfer Protocol) (Fielding et al

1999) para transporte e a linguagem XML para representaccedilatildeo e padronizaccedilatildeo de suas

informaccedilotildees (Kleijnen amp Raju 2003)

Web Services satildeo sistemas de software identificados por uma URI (Uniform

Resource Identifier) e definidos por um documento de descriccedilatildeo baseado na

linguagem XML Essa descriccedilatildeo tem como objetivo possibilitar que outros sistemas

4

possam identificar o sistema descrito e interagir com o mesmo segundo sua definiccedilatildeo

utilizando mensagens baseadas em XML conduzidas por protocolos Internet (W3C

2002)

O funcionamento dos Web Services eacute baseado em uma arquitetura composta de

mecanismos capazes de enviar e receber mensagens descrevecirc-los e publicar essas

descriccedilotildees Essa arquitetura define a interaccedilatildeo entre agentes de software atraveacutes da

troca de mensagens entre os que requisitam e os que fornecem serviccedilos

Os fornecedores de serviccedilos tecircm a responsabilidade de publicar a descriccedilatildeo de

um ou mais serviccedilos Jaacute os agentes que requisitam serviccedilos devem ser capazes de

encontrar e identificar tais serviccedilos Essa arquitetura utiliza o protocolo de

empacotamento SOAP e por exemplo o protocolo HTTP para o transporte das

mensagens A mensagem SOAP da aplicaccedilatildeo eacute inserida no corpo da mensagem de

requisiccedilatildeo que eacute entatildeo processada pelo Web Service Apoacutes o processamento uma

mensagem SOAP de resposta eacute gerada e incluiacuteda no corpo da mensagem de resposta

para entatildeo ser enviada de volta agrave aplicaccedilatildeo requisitante

Com a finalidade de fornecer um formato padratildeo para a troca de informaccedilotildees

por diferentes serviccedilos Web Services baseiam-se na linguagem XML Jaacute que um dos

objetivos eacute a integraccedilatildeo de sistemas heterogecircneos eacute importante a existecircncia de um

mapeamento Com isso analogamente aos protocolos utilizados pelas diversas

camadas na comunicaccedilatildeo em redes de computadores os agentes requisitantes e

fornecedores de serviccedilos podem entender os dados que satildeo trocados Assim a

linguagem de definiccedilatildeo XML Schema eacute utilizada para definir a estrutura e a

formataccedilatildeo das mensagens XML que seratildeo trocadas entre os sistemas envolvidos

Para expressar informaccedilotildees estruturais e semacircnticas uma linguagem de

descriccedilatildeo eacute utilizada Com as especificaccedilotildees contidas nesta linguagem sistemas de

software poderatildeo gerar automaticamente implementaccedilotildees para a comunicaccedilatildeo de

aplicaccedilotildees com os Web Services Baseado nisso a linguagem WSDL eacute o formato de

representaccedilatildeo utilizado A linguagem de descriccedilatildeo WSDL (Web Services Description

Language) tambeacutem baseada em XML permite a descriccedilatildeo completa dos serviccedilos

fornecidos por um Web Service (W3C 2003)

Atraveacutes da linguagem WSDL eacute possiacutevel que Web Services publiquem a

interface de seus serviccedilos ou seja o formato das mensagens de requisiccedilatildeo e resposta

Aleacutem disso WSDL eacute naturalmente extensiacutevel jaacute que a especificaccedilatildeo define as

interfaces abstratas e as estruturas de relacionamento permitindo que a

implementaccedilatildeo e a formataccedilatildeo das mensagens sejam realizadas atraveacutes de extensotildees

4 Modelagem de dados

Na Figura 41 eacute apresentado o Diagrama de Entidades e Relacionamentos do

WS4CSCW

Figura 41 Diagrama Entidade ndash Relacionamento do WS4CSCW

Tabela context

A entidade Contexto representa um contexto de integraccedilatildeo de aplicaccedilotildees e possui

aplicaccedilotildees associadas a ele Possui dois identificadores (Publico e Privado) e permite

a inserccedilatildeo de novas aplicaccedilotildees ao contexto O identificador eacute necessaacuterio na realizaccedilatildeo

de operaccedilotildees no WS4CSCW como inserccedilotildees alteraccedilotildees e remoccedilotildees de aplicaccedilotildees

usuaacuterios grupos recursos papeis e permissotildees

6

Atributos

Nome Tipo de dados NULL Padratildeo ExtrascontextID int(10) auto_incrementprivateID varchar(50) NULL publicID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela app

A entidade Aplicaccedilatildeo eacute a entidade que iraacute interagir com o Web Service WS4CSCW

Representa aplicaccedilotildees ou sub-sistemas envolvidos no contexto da integraccedilatildeo ou

mesmo uma aplicaccedilatildeo que utiliza as funcionalidades do Web Service como

reaproveitamento de funcionalidades sem no entanto interagir com outras aplicaccedilotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasappID int(10) auto_incrementprivateID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela resource

A entidade Recurso armazena os dados referentes aos recursos a que se desejam

associar permissotildees Um recurso pode ser uma funcionalidade ou moacutedulo de uma

aplicaccedilatildeo um sub-sistema ou qualquer objeto ou item de um sistema que se deseja

restringir o acesso atraveacutes da atribuiccedilatildeo de permissotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasresourceID int(11) auto_incrementname varchar(20) description varchar(80) NULL type_bool enum(YN) Y

Tabela user

A entidade usuaacuterio manteacutem os dados dos usuaacuterios Armazena nome nickname e-mail

e descriccedilatildeo do usuaacuterio

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasuserID smallint(5) auto_incrementname varchar(50) nick varchar(10) email varchar(40) description varchar(30) NULL contextID int(10) Foreign Key(context)

Tabela groups

A entidade grupo armazena os dados referentes aos grupos como nome do grupo

categoria sigla e descriccedilatildeo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) unsigned auto_incrementcategory varchar(15) 0 name varchar(30) acronym varchar(10) description varchar(100) NULL contextID int(10) Foreign Key(context)

Tabela group_user

Esse relacionamento faz a associaccedilatildeo entre grupos e usuaacuterios

Atributos

8

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) 0 Foreign Key(group)userID smallint(5) 0 Foreign Key(user)

Tabela context_app

Esse relacionamento faz a associaccedilatildeo entre contextos e aplicaccedilotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrascontextID smallint(5) 0 Foreign Key(context)appID smallint(5) 0 Foreign Key(app)

Tabela permission_user

Entidade que manteacutem as permissotildees de usuaacuterios Armazena o identificador do recurso

a que a permissatildeo se refere o valor ou permissatildeo propriamente dita descriccedilatildeo da

permissatildeo e um flag ldquopriority_over_grouprdquo que eacute usando quando uma permissatildeo de

usuaacuterio estaacute em conflito com uma permissatildeo de grupo ao qual o usuaacuterio pertence

definido qual permissatildeo prevalece (a atribuiacuteda diretamente ao usuaacuterio ou a grupo ao

qual o usuaacuterio pertence)

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_userID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL priority_over_group enum(YN) Y

Tabela permission_group

Essa entidade refere-se agraves permissotildees de grupo Manteacutem o identificador do recurso a

que se refere a permissatildeo o valor e a descriccedilatildeo da permissatildeo o tipo da permissatildeo

(ldquocumulativerdquo ou ldquorankrdquo) e o rank que permite a classificaccedilatildeo de permissotildees O tipo

da permissatildeo eacute necessaacuterio em caso de conflitos (quando um usuaacuterio pertence a mais

de um grupo que possui permissotildees para um dado recurso) Neste caso caso a

permissatildeo seja do tipo ldquocumulativerdquo o usuaacuterio teraacute como permissatildeo para o recurso a

reuniatildeo das permissotildees dos grupos aos quais ele pertence Caso seja do tipo ldquorankrdquo

prevalece a permissatildeo que tiver o maior ldquorankrdquo

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_groupID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL rank int(4) NULL type varchar(15) NULL

Tabela user_role

Entidade referente ao papel de usuaacuterio Manteacutem um conjunto de permissotildees de

usuaacuterio e permite atribuir esse conjunto a usuaacuterios Desta forma eacute possiacutevel de uma soacute

vez atribuir e retirar vaacuterias permissotildees de usuaacuterios

Atributos

Nome Tipo de dados NULL PadratildeoExtrasuser_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) Foreign Key(context)

Tabela group_role

Entidade referente ao papel de grupo Manteacutem um conjunto de permissotildees de grupo e

permite atribuir esse conjunto a grupos Desta forma eacute possiacutevel de uma soacute vez

atribuir e retirar vaacuterias permissotildees de grupos

10

Atributos

Nome Tipo de dados NULL Padratildeo Extrasgroup_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) 0 Foreign Key(context)

Tabela atrib_user

Relacionamento (NxM) entre usuaacuterios e permissotildees de usuaacuterios Manteacutem a associaccedilatildeo

entre usuaacuterios e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_userID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)userID smallint(5) 0 Foreign Key(user)

Tabela atrib_group

Relacionamento (NxM) entre grupos e permissotildees de grupos Manteacutem a associaccedilatildeo

entre grupos e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_groupID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)groupID smallint(5) 0 Foreign Key(group)

Tabela atrib_user_role

Representa o relacionamento (NxM) entre papeacuteis de usuaacuterio e permissotildees de usuaacuterio

Um papel possui um conjunto de permissotildees a ele associadas Quando um papel eacute

atribuiacutedo a um usuaacuterio este usuaacuterio herda automaticamente todas as permissotildees que

compotildeem o papel de usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)user_roleID smallint(5) 0 Foreign Key(user_role)

Tabela atrib_group_role

Representa o relacionamento (NxM) entre papeacuteis de grupo e permissotildees de grupo Um

papel de grupo possui um conjunto de permissotildees a ele associadas Quando um papel

eacute atribuiacutedo a um grupo este grupo herda automaticamente todas as permissotildees que

compotildeem o papel de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)group_roleID smallint(5) 0 Foreign Key(group_role)

Tabela user_role_user

Relacionamento (NxM) que representa o mapeamento entre usuaacuterios e papeacuteis de

usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementuserID smallint(5) 0 Foreign Key(user)user_roleID smallint(5) 0 Foreign Key(user_role)

12

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

1 Introduccedilatildeo

O WS4CSCW (Web Services for Computer Supportes Collaborative Work) eacute um Web

Service que tem como objetivo facilitar a integraccedilatildeo de ferramentas e sistemas CSCW

(Computer Supportes Collaborative Work) O WS4CSCW permite o gerenciamento

de usuaacuterios grupos recursos permissotildees e papeacuteis de usuaacuterios e grupos

Uma caracteriacutestica comum na maioria das aplicaccedilotildees CSCW refere-se ao

controle e gerenciamento de usuaacuterios e grupos Quando essas ferramentas satildeo

integradas para trabalharem em conjunto com o objetivo de acrescentar

funcionalidades e facilidades ao usuaacuterio ou grupos de usuaacuterios eacute possiacutevel que essas

informaccedilotildees fiquem redundantes ou mesmo inconsistentes caso sejam tratadas isolada

e localmente

O gerenciamento centralizado objetiva resolver esse problema Atraveacutes de

chamadas remotas ao WS4CSCW as aplicaccedilotildees que estatildeo cadastradas em um

determinado contexto de integraccedilatildeo podem acrescentar modificar remover e

consultar informaccedilotildees referentes a usuaacuterios e grupos de usuaacuterios

Outra caracteriacutestica referente a aplicaccedilotildees CSCW diz respeito a permissotildees e

acessos a recursos por parte dos usuaacuterios grupos e aplicaccedilotildees O WS4CSCW tambeacutem

permite o gerenciamento e compartilhamento de permissotildees a recursos por usuaacuterios e

grupos Desta forma eacute possiacutevel que uma aplicaccedilatildeo altere a permissatildeo que um usuaacuterio

ou grupo teraacute em um recurso de outra aplicaccedilatildeo ou sistema

O conceito de recurso eacute bem amplo e pode representar por exemplo uma

funcionalidade de uma aplicaccedilatildeo acesso a documentos arquivos base de dados sub-

sitemas ou mesmo restriccedilotildees dentro de uma mesma funcionalidade Por exemplo

considerando-se uma aplicaccedilatildeo de ediccedilatildeo de projetos por grupos Aplication Ap1 eacute

possiacutevel cadastrar uma permissatildeo que indica que um certo grupo Group G5 tem

permissatildeo de uso da Funcionalidade F1 desta aplicaccedilatildeo apenas para o projeto P4

2

Desta forma com um conjunto de permissotildees armazenadas para cada usuaacuterio e

grupo eacute possiacutevel responder aos seguintes tipos de consultas Quem satildeo os usuaacuterios

do grupo G Quais os grupos aos quais o usuaacuterio U pertence Qual permissatildeo o

usuaacuterio U tem para o recurso R Qual permissatildeo o grupo G tem para o recurso R

O usuaacuterio U tem a permissatildeo de valor V para o recurso R Quais usuaacuterios tecircm

permissatildeo para o recurso R Quais grupos tecircm permissatildeo para o recurso R

O WS4CSCW tambeacutem permite a utilizaccedilatildeo do conceito de papeacuteis Um papel

possui vaacuterias permissotildees associadas a ele e permite que um usuaacuterio ou grupo herde

essas permissotildees de uma uacutenica vez por exemplo quando eacute cadastrado ou inserido em

algum grupo Com isso eacute possiacutevel por exemplo que a um novo usuaacuterio membro de

um grupo de desenvolvimento de projetos sejam atribuiacutedas todas as permissotildees

previamente associadas ao papel de usuaacuterio desenvolvedor ou que a um novo grupo

de analistas sejam atribuiacutedas as permissotildees do papel de grupo analistas

O WS4CSCW tem como objetivo prover suporte para ferramentas CSCW

bem como para a integraccedilatildeo de ferramentas CSCW Mesmo trabalhando de forma

isolada sem comunicaccedilatildeo com outras aplicaccedilotildees uma aplicaccedilatildeo CSCW tambeacutem pode

usufruir os serviccedilos WS4CSCW eliminando da fase desenvolvimento as

complicaccedilotildees relativas ao gerenciamento de usuaacuterios grupos recursos e permissotildees

Isso permite focar os esforccedilos do desenvolvimento nas particularidades e

funcionalidades da nova aplicaccedilatildeo e aproveitar os serviccedilos do WS4CSCW

2 CSCW

Ao ambiente computacional que implementa os processos de apoio agrave cooperaccedilatildeo e

assim possibilita o trabalho a produccedilatildeo em conjunto e a troca de informaccedilotildees

denomina-se Groupware ou CSCW (Borges Cavalcanti amp Campos 1995) Segundo

Fluckiger (Fluckiger 1995) CSCW concentra o desenvolvimento de sistemas

baseados em computador para dar suporte e melhorar o trabalho de grupos de usuaacuterios

com interesses objetivos ou atividades comuns bem como o entendimento dos efeitos

do uso desse tipo de sistema

Um dos grandes desafios do CSCW eacute habilitar pessoas a trabalharem

efetivamente em equipes que satildeo mediadas atraveacutes dos computadores considerando

que este trabalho pode ser dificultado pela falta de intimidade no uso de computadores

(Mills 1999) Projetos na aacuterea de CSCW podem ser caracterizados por trecircs grandes

desafios a serem vencidos comunicaccedilatildeo coordenaccedilatildeo e colaboraccedilatildeo (Chang Zhang

amp Jiang 2001) Os aplicativos baseados em CSCW devem considerar esses desafios

para prover as funcionalidades necessaacuterias ao trabalho colaborativo

Groupware eacute o ambiente computacional que implementa os processos de apoio

agrave cooperaccedilatildeo entre pessoas e assim possibilita o trabalho a produccedilatildeo em conjunto e

a troca de informaccedilotildees ou seja uma ferramenta que daacute suporte ao trabalho realizado

por um grupo de pessoas e provecirc benefiacutecios como resultado desta cooperaccedilatildeo

O trabalho em grupo permite a interaccedilatildeo entre diferentes pessoas de diferentes

organizaccedilotildees obtendo assim os seguintes resultados eliminaccedilatildeo das distacircncias

aproximaccedilatildeo das pessoas reduccedilatildeo do tempo gasto aumento da produtividade e

diminuiccedilatildeo de custos

3 Web Services

Devido agrave crescente necessidade de comunicaccedilatildeo e interoperabilidade de aplicaccedilotildees

foi notado um consideraacutevel crescimento no uso de Web Services na World Wide Web

Apesar de existirem tecnologias que possibilitam o acesso remoto a serviccedilos

distribuiacutedos os Web Services apresentam algumas vantagens sobre tais tecnologias

De acordo com (Stal 2002) tecnologias como CORBA (Object Management Group

2001) e Java RMI (Microsystems 2002) por exemplo satildeo complexas e precisam de

um alto poder de comunicaccedilatildeo aleacutem de apresentarem baixa escalabilidade e baixa

capacidade de interoperabilidade Web Services disponibilizam interoperabilidade

simplicidade e flexibilidade com um baixo custo de processamento ao utilizar

mecanismos como o protocolo HTTP (Hypertext Transfer Protocol) (Fielding et al

1999) para transporte e a linguagem XML para representaccedilatildeo e padronizaccedilatildeo de suas

informaccedilotildees (Kleijnen amp Raju 2003)

Web Services satildeo sistemas de software identificados por uma URI (Uniform

Resource Identifier) e definidos por um documento de descriccedilatildeo baseado na

linguagem XML Essa descriccedilatildeo tem como objetivo possibilitar que outros sistemas

4

possam identificar o sistema descrito e interagir com o mesmo segundo sua definiccedilatildeo

utilizando mensagens baseadas em XML conduzidas por protocolos Internet (W3C

2002)

O funcionamento dos Web Services eacute baseado em uma arquitetura composta de

mecanismos capazes de enviar e receber mensagens descrevecirc-los e publicar essas

descriccedilotildees Essa arquitetura define a interaccedilatildeo entre agentes de software atraveacutes da

troca de mensagens entre os que requisitam e os que fornecem serviccedilos

Os fornecedores de serviccedilos tecircm a responsabilidade de publicar a descriccedilatildeo de

um ou mais serviccedilos Jaacute os agentes que requisitam serviccedilos devem ser capazes de

encontrar e identificar tais serviccedilos Essa arquitetura utiliza o protocolo de

empacotamento SOAP e por exemplo o protocolo HTTP para o transporte das

mensagens A mensagem SOAP da aplicaccedilatildeo eacute inserida no corpo da mensagem de

requisiccedilatildeo que eacute entatildeo processada pelo Web Service Apoacutes o processamento uma

mensagem SOAP de resposta eacute gerada e incluiacuteda no corpo da mensagem de resposta

para entatildeo ser enviada de volta agrave aplicaccedilatildeo requisitante

Com a finalidade de fornecer um formato padratildeo para a troca de informaccedilotildees

por diferentes serviccedilos Web Services baseiam-se na linguagem XML Jaacute que um dos

objetivos eacute a integraccedilatildeo de sistemas heterogecircneos eacute importante a existecircncia de um

mapeamento Com isso analogamente aos protocolos utilizados pelas diversas

camadas na comunicaccedilatildeo em redes de computadores os agentes requisitantes e

fornecedores de serviccedilos podem entender os dados que satildeo trocados Assim a

linguagem de definiccedilatildeo XML Schema eacute utilizada para definir a estrutura e a

formataccedilatildeo das mensagens XML que seratildeo trocadas entre os sistemas envolvidos

Para expressar informaccedilotildees estruturais e semacircnticas uma linguagem de

descriccedilatildeo eacute utilizada Com as especificaccedilotildees contidas nesta linguagem sistemas de

software poderatildeo gerar automaticamente implementaccedilotildees para a comunicaccedilatildeo de

aplicaccedilotildees com os Web Services Baseado nisso a linguagem WSDL eacute o formato de

representaccedilatildeo utilizado A linguagem de descriccedilatildeo WSDL (Web Services Description

Language) tambeacutem baseada em XML permite a descriccedilatildeo completa dos serviccedilos

fornecidos por um Web Service (W3C 2003)

Atraveacutes da linguagem WSDL eacute possiacutevel que Web Services publiquem a

interface de seus serviccedilos ou seja o formato das mensagens de requisiccedilatildeo e resposta

Aleacutem disso WSDL eacute naturalmente extensiacutevel jaacute que a especificaccedilatildeo define as

interfaces abstratas e as estruturas de relacionamento permitindo que a

implementaccedilatildeo e a formataccedilatildeo das mensagens sejam realizadas atraveacutes de extensotildees

4 Modelagem de dados

Na Figura 41 eacute apresentado o Diagrama de Entidades e Relacionamentos do

WS4CSCW

Figura 41 Diagrama Entidade ndash Relacionamento do WS4CSCW

Tabela context

A entidade Contexto representa um contexto de integraccedilatildeo de aplicaccedilotildees e possui

aplicaccedilotildees associadas a ele Possui dois identificadores (Publico e Privado) e permite

a inserccedilatildeo de novas aplicaccedilotildees ao contexto O identificador eacute necessaacuterio na realizaccedilatildeo

de operaccedilotildees no WS4CSCW como inserccedilotildees alteraccedilotildees e remoccedilotildees de aplicaccedilotildees

usuaacuterios grupos recursos papeis e permissotildees

6

Atributos

Nome Tipo de dados NULL Padratildeo ExtrascontextID int(10) auto_incrementprivateID varchar(50) NULL publicID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela app

A entidade Aplicaccedilatildeo eacute a entidade que iraacute interagir com o Web Service WS4CSCW

Representa aplicaccedilotildees ou sub-sistemas envolvidos no contexto da integraccedilatildeo ou

mesmo uma aplicaccedilatildeo que utiliza as funcionalidades do Web Service como

reaproveitamento de funcionalidades sem no entanto interagir com outras aplicaccedilotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasappID int(10) auto_incrementprivateID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela resource

A entidade Recurso armazena os dados referentes aos recursos a que se desejam

associar permissotildees Um recurso pode ser uma funcionalidade ou moacutedulo de uma

aplicaccedilatildeo um sub-sistema ou qualquer objeto ou item de um sistema que se deseja

restringir o acesso atraveacutes da atribuiccedilatildeo de permissotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasresourceID int(11) auto_incrementname varchar(20) description varchar(80) NULL type_bool enum(YN) Y

Tabela user

A entidade usuaacuterio manteacutem os dados dos usuaacuterios Armazena nome nickname e-mail

e descriccedilatildeo do usuaacuterio

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasuserID smallint(5) auto_incrementname varchar(50) nick varchar(10) email varchar(40) description varchar(30) NULL contextID int(10) Foreign Key(context)

Tabela groups

A entidade grupo armazena os dados referentes aos grupos como nome do grupo

categoria sigla e descriccedilatildeo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) unsigned auto_incrementcategory varchar(15) 0 name varchar(30) acronym varchar(10) description varchar(100) NULL contextID int(10) Foreign Key(context)

Tabela group_user

Esse relacionamento faz a associaccedilatildeo entre grupos e usuaacuterios

Atributos

8

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) 0 Foreign Key(group)userID smallint(5) 0 Foreign Key(user)

Tabela context_app

Esse relacionamento faz a associaccedilatildeo entre contextos e aplicaccedilotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrascontextID smallint(5) 0 Foreign Key(context)appID smallint(5) 0 Foreign Key(app)

Tabela permission_user

Entidade que manteacutem as permissotildees de usuaacuterios Armazena o identificador do recurso

a que a permissatildeo se refere o valor ou permissatildeo propriamente dita descriccedilatildeo da

permissatildeo e um flag ldquopriority_over_grouprdquo que eacute usando quando uma permissatildeo de

usuaacuterio estaacute em conflito com uma permissatildeo de grupo ao qual o usuaacuterio pertence

definido qual permissatildeo prevalece (a atribuiacuteda diretamente ao usuaacuterio ou a grupo ao

qual o usuaacuterio pertence)

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_userID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL priority_over_group enum(YN) Y

Tabela permission_group

Essa entidade refere-se agraves permissotildees de grupo Manteacutem o identificador do recurso a

que se refere a permissatildeo o valor e a descriccedilatildeo da permissatildeo o tipo da permissatildeo

(ldquocumulativerdquo ou ldquorankrdquo) e o rank que permite a classificaccedilatildeo de permissotildees O tipo

da permissatildeo eacute necessaacuterio em caso de conflitos (quando um usuaacuterio pertence a mais

de um grupo que possui permissotildees para um dado recurso) Neste caso caso a

permissatildeo seja do tipo ldquocumulativerdquo o usuaacuterio teraacute como permissatildeo para o recurso a

reuniatildeo das permissotildees dos grupos aos quais ele pertence Caso seja do tipo ldquorankrdquo

prevalece a permissatildeo que tiver o maior ldquorankrdquo

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_groupID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL rank int(4) NULL type varchar(15) NULL

Tabela user_role

Entidade referente ao papel de usuaacuterio Manteacutem um conjunto de permissotildees de

usuaacuterio e permite atribuir esse conjunto a usuaacuterios Desta forma eacute possiacutevel de uma soacute

vez atribuir e retirar vaacuterias permissotildees de usuaacuterios

Atributos

Nome Tipo de dados NULL PadratildeoExtrasuser_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) Foreign Key(context)

Tabela group_role

Entidade referente ao papel de grupo Manteacutem um conjunto de permissotildees de grupo e

permite atribuir esse conjunto a grupos Desta forma eacute possiacutevel de uma soacute vez

atribuir e retirar vaacuterias permissotildees de grupos

10

Atributos

Nome Tipo de dados NULL Padratildeo Extrasgroup_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) 0 Foreign Key(context)

Tabela atrib_user

Relacionamento (NxM) entre usuaacuterios e permissotildees de usuaacuterios Manteacutem a associaccedilatildeo

entre usuaacuterios e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_userID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)userID smallint(5) 0 Foreign Key(user)

Tabela atrib_group

Relacionamento (NxM) entre grupos e permissotildees de grupos Manteacutem a associaccedilatildeo

entre grupos e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_groupID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)groupID smallint(5) 0 Foreign Key(group)

Tabela atrib_user_role

Representa o relacionamento (NxM) entre papeacuteis de usuaacuterio e permissotildees de usuaacuterio

Um papel possui um conjunto de permissotildees a ele associadas Quando um papel eacute

atribuiacutedo a um usuaacuterio este usuaacuterio herda automaticamente todas as permissotildees que

compotildeem o papel de usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)user_roleID smallint(5) 0 Foreign Key(user_role)

Tabela atrib_group_role

Representa o relacionamento (NxM) entre papeacuteis de grupo e permissotildees de grupo Um

papel de grupo possui um conjunto de permissotildees a ele associadas Quando um papel

eacute atribuiacutedo a um grupo este grupo herda automaticamente todas as permissotildees que

compotildeem o papel de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)group_roleID smallint(5) 0 Foreign Key(group_role)

Tabela user_role_user

Relacionamento (NxM) que representa o mapeamento entre usuaacuterios e papeacuteis de

usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementuserID smallint(5) 0 Foreign Key(user)user_roleID smallint(5) 0 Foreign Key(user_role)

12

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

Desta forma com um conjunto de permissotildees armazenadas para cada usuaacuterio e

grupo eacute possiacutevel responder aos seguintes tipos de consultas Quem satildeo os usuaacuterios

do grupo G Quais os grupos aos quais o usuaacuterio U pertence Qual permissatildeo o

usuaacuterio U tem para o recurso R Qual permissatildeo o grupo G tem para o recurso R

O usuaacuterio U tem a permissatildeo de valor V para o recurso R Quais usuaacuterios tecircm

permissatildeo para o recurso R Quais grupos tecircm permissatildeo para o recurso R

O WS4CSCW tambeacutem permite a utilizaccedilatildeo do conceito de papeacuteis Um papel

possui vaacuterias permissotildees associadas a ele e permite que um usuaacuterio ou grupo herde

essas permissotildees de uma uacutenica vez por exemplo quando eacute cadastrado ou inserido em

algum grupo Com isso eacute possiacutevel por exemplo que a um novo usuaacuterio membro de

um grupo de desenvolvimento de projetos sejam atribuiacutedas todas as permissotildees

previamente associadas ao papel de usuaacuterio desenvolvedor ou que a um novo grupo

de analistas sejam atribuiacutedas as permissotildees do papel de grupo analistas

O WS4CSCW tem como objetivo prover suporte para ferramentas CSCW

bem como para a integraccedilatildeo de ferramentas CSCW Mesmo trabalhando de forma

isolada sem comunicaccedilatildeo com outras aplicaccedilotildees uma aplicaccedilatildeo CSCW tambeacutem pode

usufruir os serviccedilos WS4CSCW eliminando da fase desenvolvimento as

complicaccedilotildees relativas ao gerenciamento de usuaacuterios grupos recursos e permissotildees

Isso permite focar os esforccedilos do desenvolvimento nas particularidades e

funcionalidades da nova aplicaccedilatildeo e aproveitar os serviccedilos do WS4CSCW

2 CSCW

Ao ambiente computacional que implementa os processos de apoio agrave cooperaccedilatildeo e

assim possibilita o trabalho a produccedilatildeo em conjunto e a troca de informaccedilotildees

denomina-se Groupware ou CSCW (Borges Cavalcanti amp Campos 1995) Segundo

Fluckiger (Fluckiger 1995) CSCW concentra o desenvolvimento de sistemas

baseados em computador para dar suporte e melhorar o trabalho de grupos de usuaacuterios

com interesses objetivos ou atividades comuns bem como o entendimento dos efeitos

do uso desse tipo de sistema

Um dos grandes desafios do CSCW eacute habilitar pessoas a trabalharem

efetivamente em equipes que satildeo mediadas atraveacutes dos computadores considerando

que este trabalho pode ser dificultado pela falta de intimidade no uso de computadores

(Mills 1999) Projetos na aacuterea de CSCW podem ser caracterizados por trecircs grandes

desafios a serem vencidos comunicaccedilatildeo coordenaccedilatildeo e colaboraccedilatildeo (Chang Zhang

amp Jiang 2001) Os aplicativos baseados em CSCW devem considerar esses desafios

para prover as funcionalidades necessaacuterias ao trabalho colaborativo

Groupware eacute o ambiente computacional que implementa os processos de apoio

agrave cooperaccedilatildeo entre pessoas e assim possibilita o trabalho a produccedilatildeo em conjunto e

a troca de informaccedilotildees ou seja uma ferramenta que daacute suporte ao trabalho realizado

por um grupo de pessoas e provecirc benefiacutecios como resultado desta cooperaccedilatildeo

O trabalho em grupo permite a interaccedilatildeo entre diferentes pessoas de diferentes

organizaccedilotildees obtendo assim os seguintes resultados eliminaccedilatildeo das distacircncias

aproximaccedilatildeo das pessoas reduccedilatildeo do tempo gasto aumento da produtividade e

diminuiccedilatildeo de custos

3 Web Services

Devido agrave crescente necessidade de comunicaccedilatildeo e interoperabilidade de aplicaccedilotildees

foi notado um consideraacutevel crescimento no uso de Web Services na World Wide Web

Apesar de existirem tecnologias que possibilitam o acesso remoto a serviccedilos

distribuiacutedos os Web Services apresentam algumas vantagens sobre tais tecnologias

De acordo com (Stal 2002) tecnologias como CORBA (Object Management Group

2001) e Java RMI (Microsystems 2002) por exemplo satildeo complexas e precisam de

um alto poder de comunicaccedilatildeo aleacutem de apresentarem baixa escalabilidade e baixa

capacidade de interoperabilidade Web Services disponibilizam interoperabilidade

simplicidade e flexibilidade com um baixo custo de processamento ao utilizar

mecanismos como o protocolo HTTP (Hypertext Transfer Protocol) (Fielding et al

1999) para transporte e a linguagem XML para representaccedilatildeo e padronizaccedilatildeo de suas

informaccedilotildees (Kleijnen amp Raju 2003)

Web Services satildeo sistemas de software identificados por uma URI (Uniform

Resource Identifier) e definidos por um documento de descriccedilatildeo baseado na

linguagem XML Essa descriccedilatildeo tem como objetivo possibilitar que outros sistemas

4

possam identificar o sistema descrito e interagir com o mesmo segundo sua definiccedilatildeo

utilizando mensagens baseadas em XML conduzidas por protocolos Internet (W3C

2002)

O funcionamento dos Web Services eacute baseado em uma arquitetura composta de

mecanismos capazes de enviar e receber mensagens descrevecirc-los e publicar essas

descriccedilotildees Essa arquitetura define a interaccedilatildeo entre agentes de software atraveacutes da

troca de mensagens entre os que requisitam e os que fornecem serviccedilos

Os fornecedores de serviccedilos tecircm a responsabilidade de publicar a descriccedilatildeo de

um ou mais serviccedilos Jaacute os agentes que requisitam serviccedilos devem ser capazes de

encontrar e identificar tais serviccedilos Essa arquitetura utiliza o protocolo de

empacotamento SOAP e por exemplo o protocolo HTTP para o transporte das

mensagens A mensagem SOAP da aplicaccedilatildeo eacute inserida no corpo da mensagem de

requisiccedilatildeo que eacute entatildeo processada pelo Web Service Apoacutes o processamento uma

mensagem SOAP de resposta eacute gerada e incluiacuteda no corpo da mensagem de resposta

para entatildeo ser enviada de volta agrave aplicaccedilatildeo requisitante

Com a finalidade de fornecer um formato padratildeo para a troca de informaccedilotildees

por diferentes serviccedilos Web Services baseiam-se na linguagem XML Jaacute que um dos

objetivos eacute a integraccedilatildeo de sistemas heterogecircneos eacute importante a existecircncia de um

mapeamento Com isso analogamente aos protocolos utilizados pelas diversas

camadas na comunicaccedilatildeo em redes de computadores os agentes requisitantes e

fornecedores de serviccedilos podem entender os dados que satildeo trocados Assim a

linguagem de definiccedilatildeo XML Schema eacute utilizada para definir a estrutura e a

formataccedilatildeo das mensagens XML que seratildeo trocadas entre os sistemas envolvidos

Para expressar informaccedilotildees estruturais e semacircnticas uma linguagem de

descriccedilatildeo eacute utilizada Com as especificaccedilotildees contidas nesta linguagem sistemas de

software poderatildeo gerar automaticamente implementaccedilotildees para a comunicaccedilatildeo de

aplicaccedilotildees com os Web Services Baseado nisso a linguagem WSDL eacute o formato de

representaccedilatildeo utilizado A linguagem de descriccedilatildeo WSDL (Web Services Description

Language) tambeacutem baseada em XML permite a descriccedilatildeo completa dos serviccedilos

fornecidos por um Web Service (W3C 2003)

Atraveacutes da linguagem WSDL eacute possiacutevel que Web Services publiquem a

interface de seus serviccedilos ou seja o formato das mensagens de requisiccedilatildeo e resposta

Aleacutem disso WSDL eacute naturalmente extensiacutevel jaacute que a especificaccedilatildeo define as

interfaces abstratas e as estruturas de relacionamento permitindo que a

implementaccedilatildeo e a formataccedilatildeo das mensagens sejam realizadas atraveacutes de extensotildees

4 Modelagem de dados

Na Figura 41 eacute apresentado o Diagrama de Entidades e Relacionamentos do

WS4CSCW

Figura 41 Diagrama Entidade ndash Relacionamento do WS4CSCW

Tabela context

A entidade Contexto representa um contexto de integraccedilatildeo de aplicaccedilotildees e possui

aplicaccedilotildees associadas a ele Possui dois identificadores (Publico e Privado) e permite

a inserccedilatildeo de novas aplicaccedilotildees ao contexto O identificador eacute necessaacuterio na realizaccedilatildeo

de operaccedilotildees no WS4CSCW como inserccedilotildees alteraccedilotildees e remoccedilotildees de aplicaccedilotildees

usuaacuterios grupos recursos papeis e permissotildees

6

Atributos

Nome Tipo de dados NULL Padratildeo ExtrascontextID int(10) auto_incrementprivateID varchar(50) NULL publicID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela app

A entidade Aplicaccedilatildeo eacute a entidade que iraacute interagir com o Web Service WS4CSCW

Representa aplicaccedilotildees ou sub-sistemas envolvidos no contexto da integraccedilatildeo ou

mesmo uma aplicaccedilatildeo que utiliza as funcionalidades do Web Service como

reaproveitamento de funcionalidades sem no entanto interagir com outras aplicaccedilotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasappID int(10) auto_incrementprivateID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela resource

A entidade Recurso armazena os dados referentes aos recursos a que se desejam

associar permissotildees Um recurso pode ser uma funcionalidade ou moacutedulo de uma

aplicaccedilatildeo um sub-sistema ou qualquer objeto ou item de um sistema que se deseja

restringir o acesso atraveacutes da atribuiccedilatildeo de permissotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasresourceID int(11) auto_incrementname varchar(20) description varchar(80) NULL type_bool enum(YN) Y

Tabela user

A entidade usuaacuterio manteacutem os dados dos usuaacuterios Armazena nome nickname e-mail

e descriccedilatildeo do usuaacuterio

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasuserID smallint(5) auto_incrementname varchar(50) nick varchar(10) email varchar(40) description varchar(30) NULL contextID int(10) Foreign Key(context)

Tabela groups

A entidade grupo armazena os dados referentes aos grupos como nome do grupo

categoria sigla e descriccedilatildeo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) unsigned auto_incrementcategory varchar(15) 0 name varchar(30) acronym varchar(10) description varchar(100) NULL contextID int(10) Foreign Key(context)

Tabela group_user

Esse relacionamento faz a associaccedilatildeo entre grupos e usuaacuterios

Atributos

8

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) 0 Foreign Key(group)userID smallint(5) 0 Foreign Key(user)

Tabela context_app

Esse relacionamento faz a associaccedilatildeo entre contextos e aplicaccedilotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrascontextID smallint(5) 0 Foreign Key(context)appID smallint(5) 0 Foreign Key(app)

Tabela permission_user

Entidade que manteacutem as permissotildees de usuaacuterios Armazena o identificador do recurso

a que a permissatildeo se refere o valor ou permissatildeo propriamente dita descriccedilatildeo da

permissatildeo e um flag ldquopriority_over_grouprdquo que eacute usando quando uma permissatildeo de

usuaacuterio estaacute em conflito com uma permissatildeo de grupo ao qual o usuaacuterio pertence

definido qual permissatildeo prevalece (a atribuiacuteda diretamente ao usuaacuterio ou a grupo ao

qual o usuaacuterio pertence)

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_userID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL priority_over_group enum(YN) Y

Tabela permission_group

Essa entidade refere-se agraves permissotildees de grupo Manteacutem o identificador do recurso a

que se refere a permissatildeo o valor e a descriccedilatildeo da permissatildeo o tipo da permissatildeo

(ldquocumulativerdquo ou ldquorankrdquo) e o rank que permite a classificaccedilatildeo de permissotildees O tipo

da permissatildeo eacute necessaacuterio em caso de conflitos (quando um usuaacuterio pertence a mais

de um grupo que possui permissotildees para um dado recurso) Neste caso caso a

permissatildeo seja do tipo ldquocumulativerdquo o usuaacuterio teraacute como permissatildeo para o recurso a

reuniatildeo das permissotildees dos grupos aos quais ele pertence Caso seja do tipo ldquorankrdquo

prevalece a permissatildeo que tiver o maior ldquorankrdquo

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_groupID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL rank int(4) NULL type varchar(15) NULL

Tabela user_role

Entidade referente ao papel de usuaacuterio Manteacutem um conjunto de permissotildees de

usuaacuterio e permite atribuir esse conjunto a usuaacuterios Desta forma eacute possiacutevel de uma soacute

vez atribuir e retirar vaacuterias permissotildees de usuaacuterios

Atributos

Nome Tipo de dados NULL PadratildeoExtrasuser_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) Foreign Key(context)

Tabela group_role

Entidade referente ao papel de grupo Manteacutem um conjunto de permissotildees de grupo e

permite atribuir esse conjunto a grupos Desta forma eacute possiacutevel de uma soacute vez

atribuir e retirar vaacuterias permissotildees de grupos

10

Atributos

Nome Tipo de dados NULL Padratildeo Extrasgroup_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) 0 Foreign Key(context)

Tabela atrib_user

Relacionamento (NxM) entre usuaacuterios e permissotildees de usuaacuterios Manteacutem a associaccedilatildeo

entre usuaacuterios e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_userID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)userID smallint(5) 0 Foreign Key(user)

Tabela atrib_group

Relacionamento (NxM) entre grupos e permissotildees de grupos Manteacutem a associaccedilatildeo

entre grupos e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_groupID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)groupID smallint(5) 0 Foreign Key(group)

Tabela atrib_user_role

Representa o relacionamento (NxM) entre papeacuteis de usuaacuterio e permissotildees de usuaacuterio

Um papel possui um conjunto de permissotildees a ele associadas Quando um papel eacute

atribuiacutedo a um usuaacuterio este usuaacuterio herda automaticamente todas as permissotildees que

compotildeem o papel de usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)user_roleID smallint(5) 0 Foreign Key(user_role)

Tabela atrib_group_role

Representa o relacionamento (NxM) entre papeacuteis de grupo e permissotildees de grupo Um

papel de grupo possui um conjunto de permissotildees a ele associadas Quando um papel

eacute atribuiacutedo a um grupo este grupo herda automaticamente todas as permissotildees que

compotildeem o papel de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)group_roleID smallint(5) 0 Foreign Key(group_role)

Tabela user_role_user

Relacionamento (NxM) que representa o mapeamento entre usuaacuterios e papeacuteis de

usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementuserID smallint(5) 0 Foreign Key(user)user_roleID smallint(5) 0 Foreign Key(user_role)

12

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

que este trabalho pode ser dificultado pela falta de intimidade no uso de computadores

(Mills 1999) Projetos na aacuterea de CSCW podem ser caracterizados por trecircs grandes

desafios a serem vencidos comunicaccedilatildeo coordenaccedilatildeo e colaboraccedilatildeo (Chang Zhang

amp Jiang 2001) Os aplicativos baseados em CSCW devem considerar esses desafios

para prover as funcionalidades necessaacuterias ao trabalho colaborativo

Groupware eacute o ambiente computacional que implementa os processos de apoio

agrave cooperaccedilatildeo entre pessoas e assim possibilita o trabalho a produccedilatildeo em conjunto e

a troca de informaccedilotildees ou seja uma ferramenta que daacute suporte ao trabalho realizado

por um grupo de pessoas e provecirc benefiacutecios como resultado desta cooperaccedilatildeo

O trabalho em grupo permite a interaccedilatildeo entre diferentes pessoas de diferentes

organizaccedilotildees obtendo assim os seguintes resultados eliminaccedilatildeo das distacircncias

aproximaccedilatildeo das pessoas reduccedilatildeo do tempo gasto aumento da produtividade e

diminuiccedilatildeo de custos

3 Web Services

Devido agrave crescente necessidade de comunicaccedilatildeo e interoperabilidade de aplicaccedilotildees

foi notado um consideraacutevel crescimento no uso de Web Services na World Wide Web

Apesar de existirem tecnologias que possibilitam o acesso remoto a serviccedilos

distribuiacutedos os Web Services apresentam algumas vantagens sobre tais tecnologias

De acordo com (Stal 2002) tecnologias como CORBA (Object Management Group

2001) e Java RMI (Microsystems 2002) por exemplo satildeo complexas e precisam de

um alto poder de comunicaccedilatildeo aleacutem de apresentarem baixa escalabilidade e baixa

capacidade de interoperabilidade Web Services disponibilizam interoperabilidade

simplicidade e flexibilidade com um baixo custo de processamento ao utilizar

mecanismos como o protocolo HTTP (Hypertext Transfer Protocol) (Fielding et al

1999) para transporte e a linguagem XML para representaccedilatildeo e padronizaccedilatildeo de suas

informaccedilotildees (Kleijnen amp Raju 2003)

Web Services satildeo sistemas de software identificados por uma URI (Uniform

Resource Identifier) e definidos por um documento de descriccedilatildeo baseado na

linguagem XML Essa descriccedilatildeo tem como objetivo possibilitar que outros sistemas

4

possam identificar o sistema descrito e interagir com o mesmo segundo sua definiccedilatildeo

utilizando mensagens baseadas em XML conduzidas por protocolos Internet (W3C

2002)

O funcionamento dos Web Services eacute baseado em uma arquitetura composta de

mecanismos capazes de enviar e receber mensagens descrevecirc-los e publicar essas

descriccedilotildees Essa arquitetura define a interaccedilatildeo entre agentes de software atraveacutes da

troca de mensagens entre os que requisitam e os que fornecem serviccedilos

Os fornecedores de serviccedilos tecircm a responsabilidade de publicar a descriccedilatildeo de

um ou mais serviccedilos Jaacute os agentes que requisitam serviccedilos devem ser capazes de

encontrar e identificar tais serviccedilos Essa arquitetura utiliza o protocolo de

empacotamento SOAP e por exemplo o protocolo HTTP para o transporte das

mensagens A mensagem SOAP da aplicaccedilatildeo eacute inserida no corpo da mensagem de

requisiccedilatildeo que eacute entatildeo processada pelo Web Service Apoacutes o processamento uma

mensagem SOAP de resposta eacute gerada e incluiacuteda no corpo da mensagem de resposta

para entatildeo ser enviada de volta agrave aplicaccedilatildeo requisitante

Com a finalidade de fornecer um formato padratildeo para a troca de informaccedilotildees

por diferentes serviccedilos Web Services baseiam-se na linguagem XML Jaacute que um dos

objetivos eacute a integraccedilatildeo de sistemas heterogecircneos eacute importante a existecircncia de um

mapeamento Com isso analogamente aos protocolos utilizados pelas diversas

camadas na comunicaccedilatildeo em redes de computadores os agentes requisitantes e

fornecedores de serviccedilos podem entender os dados que satildeo trocados Assim a

linguagem de definiccedilatildeo XML Schema eacute utilizada para definir a estrutura e a

formataccedilatildeo das mensagens XML que seratildeo trocadas entre os sistemas envolvidos

Para expressar informaccedilotildees estruturais e semacircnticas uma linguagem de

descriccedilatildeo eacute utilizada Com as especificaccedilotildees contidas nesta linguagem sistemas de

software poderatildeo gerar automaticamente implementaccedilotildees para a comunicaccedilatildeo de

aplicaccedilotildees com os Web Services Baseado nisso a linguagem WSDL eacute o formato de

representaccedilatildeo utilizado A linguagem de descriccedilatildeo WSDL (Web Services Description

Language) tambeacutem baseada em XML permite a descriccedilatildeo completa dos serviccedilos

fornecidos por um Web Service (W3C 2003)

Atraveacutes da linguagem WSDL eacute possiacutevel que Web Services publiquem a

interface de seus serviccedilos ou seja o formato das mensagens de requisiccedilatildeo e resposta

Aleacutem disso WSDL eacute naturalmente extensiacutevel jaacute que a especificaccedilatildeo define as

interfaces abstratas e as estruturas de relacionamento permitindo que a

implementaccedilatildeo e a formataccedilatildeo das mensagens sejam realizadas atraveacutes de extensotildees

4 Modelagem de dados

Na Figura 41 eacute apresentado o Diagrama de Entidades e Relacionamentos do

WS4CSCW

Figura 41 Diagrama Entidade ndash Relacionamento do WS4CSCW

Tabela context

A entidade Contexto representa um contexto de integraccedilatildeo de aplicaccedilotildees e possui

aplicaccedilotildees associadas a ele Possui dois identificadores (Publico e Privado) e permite

a inserccedilatildeo de novas aplicaccedilotildees ao contexto O identificador eacute necessaacuterio na realizaccedilatildeo

de operaccedilotildees no WS4CSCW como inserccedilotildees alteraccedilotildees e remoccedilotildees de aplicaccedilotildees

usuaacuterios grupos recursos papeis e permissotildees

6

Atributos

Nome Tipo de dados NULL Padratildeo ExtrascontextID int(10) auto_incrementprivateID varchar(50) NULL publicID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela app

A entidade Aplicaccedilatildeo eacute a entidade que iraacute interagir com o Web Service WS4CSCW

Representa aplicaccedilotildees ou sub-sistemas envolvidos no contexto da integraccedilatildeo ou

mesmo uma aplicaccedilatildeo que utiliza as funcionalidades do Web Service como

reaproveitamento de funcionalidades sem no entanto interagir com outras aplicaccedilotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasappID int(10) auto_incrementprivateID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela resource

A entidade Recurso armazena os dados referentes aos recursos a que se desejam

associar permissotildees Um recurso pode ser uma funcionalidade ou moacutedulo de uma

aplicaccedilatildeo um sub-sistema ou qualquer objeto ou item de um sistema que se deseja

restringir o acesso atraveacutes da atribuiccedilatildeo de permissotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasresourceID int(11) auto_incrementname varchar(20) description varchar(80) NULL type_bool enum(YN) Y

Tabela user

A entidade usuaacuterio manteacutem os dados dos usuaacuterios Armazena nome nickname e-mail

e descriccedilatildeo do usuaacuterio

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasuserID smallint(5) auto_incrementname varchar(50) nick varchar(10) email varchar(40) description varchar(30) NULL contextID int(10) Foreign Key(context)

Tabela groups

A entidade grupo armazena os dados referentes aos grupos como nome do grupo

categoria sigla e descriccedilatildeo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) unsigned auto_incrementcategory varchar(15) 0 name varchar(30) acronym varchar(10) description varchar(100) NULL contextID int(10) Foreign Key(context)

Tabela group_user

Esse relacionamento faz a associaccedilatildeo entre grupos e usuaacuterios

Atributos

8

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) 0 Foreign Key(group)userID smallint(5) 0 Foreign Key(user)

Tabela context_app

Esse relacionamento faz a associaccedilatildeo entre contextos e aplicaccedilotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrascontextID smallint(5) 0 Foreign Key(context)appID smallint(5) 0 Foreign Key(app)

Tabela permission_user

Entidade que manteacutem as permissotildees de usuaacuterios Armazena o identificador do recurso

a que a permissatildeo se refere o valor ou permissatildeo propriamente dita descriccedilatildeo da

permissatildeo e um flag ldquopriority_over_grouprdquo que eacute usando quando uma permissatildeo de

usuaacuterio estaacute em conflito com uma permissatildeo de grupo ao qual o usuaacuterio pertence

definido qual permissatildeo prevalece (a atribuiacuteda diretamente ao usuaacuterio ou a grupo ao

qual o usuaacuterio pertence)

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_userID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL priority_over_group enum(YN) Y

Tabela permission_group

Essa entidade refere-se agraves permissotildees de grupo Manteacutem o identificador do recurso a

que se refere a permissatildeo o valor e a descriccedilatildeo da permissatildeo o tipo da permissatildeo

(ldquocumulativerdquo ou ldquorankrdquo) e o rank que permite a classificaccedilatildeo de permissotildees O tipo

da permissatildeo eacute necessaacuterio em caso de conflitos (quando um usuaacuterio pertence a mais

de um grupo que possui permissotildees para um dado recurso) Neste caso caso a

permissatildeo seja do tipo ldquocumulativerdquo o usuaacuterio teraacute como permissatildeo para o recurso a

reuniatildeo das permissotildees dos grupos aos quais ele pertence Caso seja do tipo ldquorankrdquo

prevalece a permissatildeo que tiver o maior ldquorankrdquo

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_groupID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL rank int(4) NULL type varchar(15) NULL

Tabela user_role

Entidade referente ao papel de usuaacuterio Manteacutem um conjunto de permissotildees de

usuaacuterio e permite atribuir esse conjunto a usuaacuterios Desta forma eacute possiacutevel de uma soacute

vez atribuir e retirar vaacuterias permissotildees de usuaacuterios

Atributos

Nome Tipo de dados NULL PadratildeoExtrasuser_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) Foreign Key(context)

Tabela group_role

Entidade referente ao papel de grupo Manteacutem um conjunto de permissotildees de grupo e

permite atribuir esse conjunto a grupos Desta forma eacute possiacutevel de uma soacute vez

atribuir e retirar vaacuterias permissotildees de grupos

10

Atributos

Nome Tipo de dados NULL Padratildeo Extrasgroup_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) 0 Foreign Key(context)

Tabela atrib_user

Relacionamento (NxM) entre usuaacuterios e permissotildees de usuaacuterios Manteacutem a associaccedilatildeo

entre usuaacuterios e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_userID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)userID smallint(5) 0 Foreign Key(user)

Tabela atrib_group

Relacionamento (NxM) entre grupos e permissotildees de grupos Manteacutem a associaccedilatildeo

entre grupos e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_groupID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)groupID smallint(5) 0 Foreign Key(group)

Tabela atrib_user_role

Representa o relacionamento (NxM) entre papeacuteis de usuaacuterio e permissotildees de usuaacuterio

Um papel possui um conjunto de permissotildees a ele associadas Quando um papel eacute

atribuiacutedo a um usuaacuterio este usuaacuterio herda automaticamente todas as permissotildees que

compotildeem o papel de usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)user_roleID smallint(5) 0 Foreign Key(user_role)

Tabela atrib_group_role

Representa o relacionamento (NxM) entre papeacuteis de grupo e permissotildees de grupo Um

papel de grupo possui um conjunto de permissotildees a ele associadas Quando um papel

eacute atribuiacutedo a um grupo este grupo herda automaticamente todas as permissotildees que

compotildeem o papel de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)group_roleID smallint(5) 0 Foreign Key(group_role)

Tabela user_role_user

Relacionamento (NxM) que representa o mapeamento entre usuaacuterios e papeacuteis de

usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementuserID smallint(5) 0 Foreign Key(user)user_roleID smallint(5) 0 Foreign Key(user_role)

12

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

possam identificar o sistema descrito e interagir com o mesmo segundo sua definiccedilatildeo

utilizando mensagens baseadas em XML conduzidas por protocolos Internet (W3C

2002)

O funcionamento dos Web Services eacute baseado em uma arquitetura composta de

mecanismos capazes de enviar e receber mensagens descrevecirc-los e publicar essas

descriccedilotildees Essa arquitetura define a interaccedilatildeo entre agentes de software atraveacutes da

troca de mensagens entre os que requisitam e os que fornecem serviccedilos

Os fornecedores de serviccedilos tecircm a responsabilidade de publicar a descriccedilatildeo de

um ou mais serviccedilos Jaacute os agentes que requisitam serviccedilos devem ser capazes de

encontrar e identificar tais serviccedilos Essa arquitetura utiliza o protocolo de

empacotamento SOAP e por exemplo o protocolo HTTP para o transporte das

mensagens A mensagem SOAP da aplicaccedilatildeo eacute inserida no corpo da mensagem de

requisiccedilatildeo que eacute entatildeo processada pelo Web Service Apoacutes o processamento uma

mensagem SOAP de resposta eacute gerada e incluiacuteda no corpo da mensagem de resposta

para entatildeo ser enviada de volta agrave aplicaccedilatildeo requisitante

Com a finalidade de fornecer um formato padratildeo para a troca de informaccedilotildees

por diferentes serviccedilos Web Services baseiam-se na linguagem XML Jaacute que um dos

objetivos eacute a integraccedilatildeo de sistemas heterogecircneos eacute importante a existecircncia de um

mapeamento Com isso analogamente aos protocolos utilizados pelas diversas

camadas na comunicaccedilatildeo em redes de computadores os agentes requisitantes e

fornecedores de serviccedilos podem entender os dados que satildeo trocados Assim a

linguagem de definiccedilatildeo XML Schema eacute utilizada para definir a estrutura e a

formataccedilatildeo das mensagens XML que seratildeo trocadas entre os sistemas envolvidos

Para expressar informaccedilotildees estruturais e semacircnticas uma linguagem de

descriccedilatildeo eacute utilizada Com as especificaccedilotildees contidas nesta linguagem sistemas de

software poderatildeo gerar automaticamente implementaccedilotildees para a comunicaccedilatildeo de

aplicaccedilotildees com os Web Services Baseado nisso a linguagem WSDL eacute o formato de

representaccedilatildeo utilizado A linguagem de descriccedilatildeo WSDL (Web Services Description

Language) tambeacutem baseada em XML permite a descriccedilatildeo completa dos serviccedilos

fornecidos por um Web Service (W3C 2003)

Atraveacutes da linguagem WSDL eacute possiacutevel que Web Services publiquem a

interface de seus serviccedilos ou seja o formato das mensagens de requisiccedilatildeo e resposta

Aleacutem disso WSDL eacute naturalmente extensiacutevel jaacute que a especificaccedilatildeo define as

interfaces abstratas e as estruturas de relacionamento permitindo que a

implementaccedilatildeo e a formataccedilatildeo das mensagens sejam realizadas atraveacutes de extensotildees

4 Modelagem de dados

Na Figura 41 eacute apresentado o Diagrama de Entidades e Relacionamentos do

WS4CSCW

Figura 41 Diagrama Entidade ndash Relacionamento do WS4CSCW

Tabela context

A entidade Contexto representa um contexto de integraccedilatildeo de aplicaccedilotildees e possui

aplicaccedilotildees associadas a ele Possui dois identificadores (Publico e Privado) e permite

a inserccedilatildeo de novas aplicaccedilotildees ao contexto O identificador eacute necessaacuterio na realizaccedilatildeo

de operaccedilotildees no WS4CSCW como inserccedilotildees alteraccedilotildees e remoccedilotildees de aplicaccedilotildees

usuaacuterios grupos recursos papeis e permissotildees

6

Atributos

Nome Tipo de dados NULL Padratildeo ExtrascontextID int(10) auto_incrementprivateID varchar(50) NULL publicID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela app

A entidade Aplicaccedilatildeo eacute a entidade que iraacute interagir com o Web Service WS4CSCW

Representa aplicaccedilotildees ou sub-sistemas envolvidos no contexto da integraccedilatildeo ou

mesmo uma aplicaccedilatildeo que utiliza as funcionalidades do Web Service como

reaproveitamento de funcionalidades sem no entanto interagir com outras aplicaccedilotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasappID int(10) auto_incrementprivateID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela resource

A entidade Recurso armazena os dados referentes aos recursos a que se desejam

associar permissotildees Um recurso pode ser uma funcionalidade ou moacutedulo de uma

aplicaccedilatildeo um sub-sistema ou qualquer objeto ou item de um sistema que se deseja

restringir o acesso atraveacutes da atribuiccedilatildeo de permissotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasresourceID int(11) auto_incrementname varchar(20) description varchar(80) NULL type_bool enum(YN) Y

Tabela user

A entidade usuaacuterio manteacutem os dados dos usuaacuterios Armazena nome nickname e-mail

e descriccedilatildeo do usuaacuterio

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasuserID smallint(5) auto_incrementname varchar(50) nick varchar(10) email varchar(40) description varchar(30) NULL contextID int(10) Foreign Key(context)

Tabela groups

A entidade grupo armazena os dados referentes aos grupos como nome do grupo

categoria sigla e descriccedilatildeo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) unsigned auto_incrementcategory varchar(15) 0 name varchar(30) acronym varchar(10) description varchar(100) NULL contextID int(10) Foreign Key(context)

Tabela group_user

Esse relacionamento faz a associaccedilatildeo entre grupos e usuaacuterios

Atributos

8

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) 0 Foreign Key(group)userID smallint(5) 0 Foreign Key(user)

Tabela context_app

Esse relacionamento faz a associaccedilatildeo entre contextos e aplicaccedilotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrascontextID smallint(5) 0 Foreign Key(context)appID smallint(5) 0 Foreign Key(app)

Tabela permission_user

Entidade que manteacutem as permissotildees de usuaacuterios Armazena o identificador do recurso

a que a permissatildeo se refere o valor ou permissatildeo propriamente dita descriccedilatildeo da

permissatildeo e um flag ldquopriority_over_grouprdquo que eacute usando quando uma permissatildeo de

usuaacuterio estaacute em conflito com uma permissatildeo de grupo ao qual o usuaacuterio pertence

definido qual permissatildeo prevalece (a atribuiacuteda diretamente ao usuaacuterio ou a grupo ao

qual o usuaacuterio pertence)

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_userID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL priority_over_group enum(YN) Y

Tabela permission_group

Essa entidade refere-se agraves permissotildees de grupo Manteacutem o identificador do recurso a

que se refere a permissatildeo o valor e a descriccedilatildeo da permissatildeo o tipo da permissatildeo

(ldquocumulativerdquo ou ldquorankrdquo) e o rank que permite a classificaccedilatildeo de permissotildees O tipo

da permissatildeo eacute necessaacuterio em caso de conflitos (quando um usuaacuterio pertence a mais

de um grupo que possui permissotildees para um dado recurso) Neste caso caso a

permissatildeo seja do tipo ldquocumulativerdquo o usuaacuterio teraacute como permissatildeo para o recurso a

reuniatildeo das permissotildees dos grupos aos quais ele pertence Caso seja do tipo ldquorankrdquo

prevalece a permissatildeo que tiver o maior ldquorankrdquo

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_groupID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL rank int(4) NULL type varchar(15) NULL

Tabela user_role

Entidade referente ao papel de usuaacuterio Manteacutem um conjunto de permissotildees de

usuaacuterio e permite atribuir esse conjunto a usuaacuterios Desta forma eacute possiacutevel de uma soacute

vez atribuir e retirar vaacuterias permissotildees de usuaacuterios

Atributos

Nome Tipo de dados NULL PadratildeoExtrasuser_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) Foreign Key(context)

Tabela group_role

Entidade referente ao papel de grupo Manteacutem um conjunto de permissotildees de grupo e

permite atribuir esse conjunto a grupos Desta forma eacute possiacutevel de uma soacute vez

atribuir e retirar vaacuterias permissotildees de grupos

10

Atributos

Nome Tipo de dados NULL Padratildeo Extrasgroup_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) 0 Foreign Key(context)

Tabela atrib_user

Relacionamento (NxM) entre usuaacuterios e permissotildees de usuaacuterios Manteacutem a associaccedilatildeo

entre usuaacuterios e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_userID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)userID smallint(5) 0 Foreign Key(user)

Tabela atrib_group

Relacionamento (NxM) entre grupos e permissotildees de grupos Manteacutem a associaccedilatildeo

entre grupos e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_groupID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)groupID smallint(5) 0 Foreign Key(group)

Tabela atrib_user_role

Representa o relacionamento (NxM) entre papeacuteis de usuaacuterio e permissotildees de usuaacuterio

Um papel possui um conjunto de permissotildees a ele associadas Quando um papel eacute

atribuiacutedo a um usuaacuterio este usuaacuterio herda automaticamente todas as permissotildees que

compotildeem o papel de usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)user_roleID smallint(5) 0 Foreign Key(user_role)

Tabela atrib_group_role

Representa o relacionamento (NxM) entre papeacuteis de grupo e permissotildees de grupo Um

papel de grupo possui um conjunto de permissotildees a ele associadas Quando um papel

eacute atribuiacutedo a um grupo este grupo herda automaticamente todas as permissotildees que

compotildeem o papel de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)group_roleID smallint(5) 0 Foreign Key(group_role)

Tabela user_role_user

Relacionamento (NxM) que representa o mapeamento entre usuaacuterios e papeacuteis de

usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementuserID smallint(5) 0 Foreign Key(user)user_roleID smallint(5) 0 Foreign Key(user_role)

12

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

Atraveacutes da linguagem WSDL eacute possiacutevel que Web Services publiquem a

interface de seus serviccedilos ou seja o formato das mensagens de requisiccedilatildeo e resposta

Aleacutem disso WSDL eacute naturalmente extensiacutevel jaacute que a especificaccedilatildeo define as

interfaces abstratas e as estruturas de relacionamento permitindo que a

implementaccedilatildeo e a formataccedilatildeo das mensagens sejam realizadas atraveacutes de extensotildees

4 Modelagem de dados

Na Figura 41 eacute apresentado o Diagrama de Entidades e Relacionamentos do

WS4CSCW

Figura 41 Diagrama Entidade ndash Relacionamento do WS4CSCW

Tabela context

A entidade Contexto representa um contexto de integraccedilatildeo de aplicaccedilotildees e possui

aplicaccedilotildees associadas a ele Possui dois identificadores (Publico e Privado) e permite

a inserccedilatildeo de novas aplicaccedilotildees ao contexto O identificador eacute necessaacuterio na realizaccedilatildeo

de operaccedilotildees no WS4CSCW como inserccedilotildees alteraccedilotildees e remoccedilotildees de aplicaccedilotildees

usuaacuterios grupos recursos papeis e permissotildees

6

Atributos

Nome Tipo de dados NULL Padratildeo ExtrascontextID int(10) auto_incrementprivateID varchar(50) NULL publicID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela app

A entidade Aplicaccedilatildeo eacute a entidade que iraacute interagir com o Web Service WS4CSCW

Representa aplicaccedilotildees ou sub-sistemas envolvidos no contexto da integraccedilatildeo ou

mesmo uma aplicaccedilatildeo que utiliza as funcionalidades do Web Service como

reaproveitamento de funcionalidades sem no entanto interagir com outras aplicaccedilotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasappID int(10) auto_incrementprivateID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela resource

A entidade Recurso armazena os dados referentes aos recursos a que se desejam

associar permissotildees Um recurso pode ser uma funcionalidade ou moacutedulo de uma

aplicaccedilatildeo um sub-sistema ou qualquer objeto ou item de um sistema que se deseja

restringir o acesso atraveacutes da atribuiccedilatildeo de permissotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasresourceID int(11) auto_incrementname varchar(20) description varchar(80) NULL type_bool enum(YN) Y

Tabela user

A entidade usuaacuterio manteacutem os dados dos usuaacuterios Armazena nome nickname e-mail

e descriccedilatildeo do usuaacuterio

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasuserID smallint(5) auto_incrementname varchar(50) nick varchar(10) email varchar(40) description varchar(30) NULL contextID int(10) Foreign Key(context)

Tabela groups

A entidade grupo armazena os dados referentes aos grupos como nome do grupo

categoria sigla e descriccedilatildeo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) unsigned auto_incrementcategory varchar(15) 0 name varchar(30) acronym varchar(10) description varchar(100) NULL contextID int(10) Foreign Key(context)

Tabela group_user

Esse relacionamento faz a associaccedilatildeo entre grupos e usuaacuterios

Atributos

8

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) 0 Foreign Key(group)userID smallint(5) 0 Foreign Key(user)

Tabela context_app

Esse relacionamento faz a associaccedilatildeo entre contextos e aplicaccedilotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrascontextID smallint(5) 0 Foreign Key(context)appID smallint(5) 0 Foreign Key(app)

Tabela permission_user

Entidade que manteacutem as permissotildees de usuaacuterios Armazena o identificador do recurso

a que a permissatildeo se refere o valor ou permissatildeo propriamente dita descriccedilatildeo da

permissatildeo e um flag ldquopriority_over_grouprdquo que eacute usando quando uma permissatildeo de

usuaacuterio estaacute em conflito com uma permissatildeo de grupo ao qual o usuaacuterio pertence

definido qual permissatildeo prevalece (a atribuiacuteda diretamente ao usuaacuterio ou a grupo ao

qual o usuaacuterio pertence)

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_userID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL priority_over_group enum(YN) Y

Tabela permission_group

Essa entidade refere-se agraves permissotildees de grupo Manteacutem o identificador do recurso a

que se refere a permissatildeo o valor e a descriccedilatildeo da permissatildeo o tipo da permissatildeo

(ldquocumulativerdquo ou ldquorankrdquo) e o rank que permite a classificaccedilatildeo de permissotildees O tipo

da permissatildeo eacute necessaacuterio em caso de conflitos (quando um usuaacuterio pertence a mais

de um grupo que possui permissotildees para um dado recurso) Neste caso caso a

permissatildeo seja do tipo ldquocumulativerdquo o usuaacuterio teraacute como permissatildeo para o recurso a

reuniatildeo das permissotildees dos grupos aos quais ele pertence Caso seja do tipo ldquorankrdquo

prevalece a permissatildeo que tiver o maior ldquorankrdquo

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_groupID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL rank int(4) NULL type varchar(15) NULL

Tabela user_role

Entidade referente ao papel de usuaacuterio Manteacutem um conjunto de permissotildees de

usuaacuterio e permite atribuir esse conjunto a usuaacuterios Desta forma eacute possiacutevel de uma soacute

vez atribuir e retirar vaacuterias permissotildees de usuaacuterios

Atributos

Nome Tipo de dados NULL PadratildeoExtrasuser_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) Foreign Key(context)

Tabela group_role

Entidade referente ao papel de grupo Manteacutem um conjunto de permissotildees de grupo e

permite atribuir esse conjunto a grupos Desta forma eacute possiacutevel de uma soacute vez

atribuir e retirar vaacuterias permissotildees de grupos

10

Atributos

Nome Tipo de dados NULL Padratildeo Extrasgroup_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) 0 Foreign Key(context)

Tabela atrib_user

Relacionamento (NxM) entre usuaacuterios e permissotildees de usuaacuterios Manteacutem a associaccedilatildeo

entre usuaacuterios e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_userID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)userID smallint(5) 0 Foreign Key(user)

Tabela atrib_group

Relacionamento (NxM) entre grupos e permissotildees de grupos Manteacutem a associaccedilatildeo

entre grupos e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_groupID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)groupID smallint(5) 0 Foreign Key(group)

Tabela atrib_user_role

Representa o relacionamento (NxM) entre papeacuteis de usuaacuterio e permissotildees de usuaacuterio

Um papel possui um conjunto de permissotildees a ele associadas Quando um papel eacute

atribuiacutedo a um usuaacuterio este usuaacuterio herda automaticamente todas as permissotildees que

compotildeem o papel de usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)user_roleID smallint(5) 0 Foreign Key(user_role)

Tabela atrib_group_role

Representa o relacionamento (NxM) entre papeacuteis de grupo e permissotildees de grupo Um

papel de grupo possui um conjunto de permissotildees a ele associadas Quando um papel

eacute atribuiacutedo a um grupo este grupo herda automaticamente todas as permissotildees que

compotildeem o papel de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)group_roleID smallint(5) 0 Foreign Key(group_role)

Tabela user_role_user

Relacionamento (NxM) que representa o mapeamento entre usuaacuterios e papeacuteis de

usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementuserID smallint(5) 0 Foreign Key(user)user_roleID smallint(5) 0 Foreign Key(user_role)

12

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

Atributos

Nome Tipo de dados NULL Padratildeo ExtrascontextID int(10) auto_incrementprivateID varchar(50) NULL publicID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela app

A entidade Aplicaccedilatildeo eacute a entidade que iraacute interagir com o Web Service WS4CSCW

Representa aplicaccedilotildees ou sub-sistemas envolvidos no contexto da integraccedilatildeo ou

mesmo uma aplicaccedilatildeo que utiliza as funcionalidades do Web Service como

reaproveitamento de funcionalidades sem no entanto interagir com outras aplicaccedilotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasappID int(10) auto_incrementprivateID varchar(50) NULL name varchar(100) NULL description varchar(100) NULL

Tabela resource

A entidade Recurso armazena os dados referentes aos recursos a que se desejam

associar permissotildees Um recurso pode ser uma funcionalidade ou moacutedulo de uma

aplicaccedilatildeo um sub-sistema ou qualquer objeto ou item de um sistema que se deseja

restringir o acesso atraveacutes da atribuiccedilatildeo de permissotildees

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasresourceID int(11) auto_incrementname varchar(20) description varchar(80) NULL type_bool enum(YN) Y

Tabela user

A entidade usuaacuterio manteacutem os dados dos usuaacuterios Armazena nome nickname e-mail

e descriccedilatildeo do usuaacuterio

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasuserID smallint(5) auto_incrementname varchar(50) nick varchar(10) email varchar(40) description varchar(30) NULL contextID int(10) Foreign Key(context)

Tabela groups

A entidade grupo armazena os dados referentes aos grupos como nome do grupo

categoria sigla e descriccedilatildeo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) unsigned auto_incrementcategory varchar(15) 0 name varchar(30) acronym varchar(10) description varchar(100) NULL contextID int(10) Foreign Key(context)

Tabela group_user

Esse relacionamento faz a associaccedilatildeo entre grupos e usuaacuterios

Atributos

8

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) 0 Foreign Key(group)userID smallint(5) 0 Foreign Key(user)

Tabela context_app

Esse relacionamento faz a associaccedilatildeo entre contextos e aplicaccedilotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrascontextID smallint(5) 0 Foreign Key(context)appID smallint(5) 0 Foreign Key(app)

Tabela permission_user

Entidade que manteacutem as permissotildees de usuaacuterios Armazena o identificador do recurso

a que a permissatildeo se refere o valor ou permissatildeo propriamente dita descriccedilatildeo da

permissatildeo e um flag ldquopriority_over_grouprdquo que eacute usando quando uma permissatildeo de

usuaacuterio estaacute em conflito com uma permissatildeo de grupo ao qual o usuaacuterio pertence

definido qual permissatildeo prevalece (a atribuiacuteda diretamente ao usuaacuterio ou a grupo ao

qual o usuaacuterio pertence)

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_userID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL priority_over_group enum(YN) Y

Tabela permission_group

Essa entidade refere-se agraves permissotildees de grupo Manteacutem o identificador do recurso a

que se refere a permissatildeo o valor e a descriccedilatildeo da permissatildeo o tipo da permissatildeo

(ldquocumulativerdquo ou ldquorankrdquo) e o rank que permite a classificaccedilatildeo de permissotildees O tipo

da permissatildeo eacute necessaacuterio em caso de conflitos (quando um usuaacuterio pertence a mais

de um grupo que possui permissotildees para um dado recurso) Neste caso caso a

permissatildeo seja do tipo ldquocumulativerdquo o usuaacuterio teraacute como permissatildeo para o recurso a

reuniatildeo das permissotildees dos grupos aos quais ele pertence Caso seja do tipo ldquorankrdquo

prevalece a permissatildeo que tiver o maior ldquorankrdquo

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_groupID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL rank int(4) NULL type varchar(15) NULL

Tabela user_role

Entidade referente ao papel de usuaacuterio Manteacutem um conjunto de permissotildees de

usuaacuterio e permite atribuir esse conjunto a usuaacuterios Desta forma eacute possiacutevel de uma soacute

vez atribuir e retirar vaacuterias permissotildees de usuaacuterios

Atributos

Nome Tipo de dados NULL PadratildeoExtrasuser_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) Foreign Key(context)

Tabela group_role

Entidade referente ao papel de grupo Manteacutem um conjunto de permissotildees de grupo e

permite atribuir esse conjunto a grupos Desta forma eacute possiacutevel de uma soacute vez

atribuir e retirar vaacuterias permissotildees de grupos

10

Atributos

Nome Tipo de dados NULL Padratildeo Extrasgroup_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) 0 Foreign Key(context)

Tabela atrib_user

Relacionamento (NxM) entre usuaacuterios e permissotildees de usuaacuterios Manteacutem a associaccedilatildeo

entre usuaacuterios e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_userID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)userID smallint(5) 0 Foreign Key(user)

Tabela atrib_group

Relacionamento (NxM) entre grupos e permissotildees de grupos Manteacutem a associaccedilatildeo

entre grupos e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_groupID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)groupID smallint(5) 0 Foreign Key(group)

Tabela atrib_user_role

Representa o relacionamento (NxM) entre papeacuteis de usuaacuterio e permissotildees de usuaacuterio

Um papel possui um conjunto de permissotildees a ele associadas Quando um papel eacute

atribuiacutedo a um usuaacuterio este usuaacuterio herda automaticamente todas as permissotildees que

compotildeem o papel de usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)user_roleID smallint(5) 0 Foreign Key(user_role)

Tabela atrib_group_role

Representa o relacionamento (NxM) entre papeacuteis de grupo e permissotildees de grupo Um

papel de grupo possui um conjunto de permissotildees a ele associadas Quando um papel

eacute atribuiacutedo a um grupo este grupo herda automaticamente todas as permissotildees que

compotildeem o papel de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)group_roleID smallint(5) 0 Foreign Key(group_role)

Tabela user_role_user

Relacionamento (NxM) que representa o mapeamento entre usuaacuterios e papeacuteis de

usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementuserID smallint(5) 0 Foreign Key(user)user_roleID smallint(5) 0 Foreign Key(user_role)

12

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

Tabela user

A entidade usuaacuterio manteacutem os dados dos usuaacuterios Armazena nome nickname e-mail

e descriccedilatildeo do usuaacuterio

Atributos

Nome Tipo de dados NULL Padratildeo ExtrasuserID smallint(5) auto_incrementname varchar(50) nick varchar(10) email varchar(40) description varchar(30) NULL contextID int(10) Foreign Key(context)

Tabela groups

A entidade grupo armazena os dados referentes aos grupos como nome do grupo

categoria sigla e descriccedilatildeo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) unsigned auto_incrementcategory varchar(15) 0 name varchar(30) acronym varchar(10) description varchar(100) NULL contextID int(10) Foreign Key(context)

Tabela group_user

Esse relacionamento faz a associaccedilatildeo entre grupos e usuaacuterios

Atributos

8

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) 0 Foreign Key(group)userID smallint(5) 0 Foreign Key(user)

Tabela context_app

Esse relacionamento faz a associaccedilatildeo entre contextos e aplicaccedilotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrascontextID smallint(5) 0 Foreign Key(context)appID smallint(5) 0 Foreign Key(app)

Tabela permission_user

Entidade que manteacutem as permissotildees de usuaacuterios Armazena o identificador do recurso

a que a permissatildeo se refere o valor ou permissatildeo propriamente dita descriccedilatildeo da

permissatildeo e um flag ldquopriority_over_grouprdquo que eacute usando quando uma permissatildeo de

usuaacuterio estaacute em conflito com uma permissatildeo de grupo ao qual o usuaacuterio pertence

definido qual permissatildeo prevalece (a atribuiacuteda diretamente ao usuaacuterio ou a grupo ao

qual o usuaacuterio pertence)

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_userID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL priority_over_group enum(YN) Y

Tabela permission_group

Essa entidade refere-se agraves permissotildees de grupo Manteacutem o identificador do recurso a

que se refere a permissatildeo o valor e a descriccedilatildeo da permissatildeo o tipo da permissatildeo

(ldquocumulativerdquo ou ldquorankrdquo) e o rank que permite a classificaccedilatildeo de permissotildees O tipo

da permissatildeo eacute necessaacuterio em caso de conflitos (quando um usuaacuterio pertence a mais

de um grupo que possui permissotildees para um dado recurso) Neste caso caso a

permissatildeo seja do tipo ldquocumulativerdquo o usuaacuterio teraacute como permissatildeo para o recurso a

reuniatildeo das permissotildees dos grupos aos quais ele pertence Caso seja do tipo ldquorankrdquo

prevalece a permissatildeo que tiver o maior ldquorankrdquo

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_groupID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL rank int(4) NULL type varchar(15) NULL

Tabela user_role

Entidade referente ao papel de usuaacuterio Manteacutem um conjunto de permissotildees de

usuaacuterio e permite atribuir esse conjunto a usuaacuterios Desta forma eacute possiacutevel de uma soacute

vez atribuir e retirar vaacuterias permissotildees de usuaacuterios

Atributos

Nome Tipo de dados NULL PadratildeoExtrasuser_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) Foreign Key(context)

Tabela group_role

Entidade referente ao papel de grupo Manteacutem um conjunto de permissotildees de grupo e

permite atribuir esse conjunto a grupos Desta forma eacute possiacutevel de uma soacute vez

atribuir e retirar vaacuterias permissotildees de grupos

10

Atributos

Nome Tipo de dados NULL Padratildeo Extrasgroup_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) 0 Foreign Key(context)

Tabela atrib_user

Relacionamento (NxM) entre usuaacuterios e permissotildees de usuaacuterios Manteacutem a associaccedilatildeo

entre usuaacuterios e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_userID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)userID smallint(5) 0 Foreign Key(user)

Tabela atrib_group

Relacionamento (NxM) entre grupos e permissotildees de grupos Manteacutem a associaccedilatildeo

entre grupos e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_groupID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)groupID smallint(5) 0 Foreign Key(group)

Tabela atrib_user_role

Representa o relacionamento (NxM) entre papeacuteis de usuaacuterio e permissotildees de usuaacuterio

Um papel possui um conjunto de permissotildees a ele associadas Quando um papel eacute

atribuiacutedo a um usuaacuterio este usuaacuterio herda automaticamente todas as permissotildees que

compotildeem o papel de usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)user_roleID smallint(5) 0 Foreign Key(user_role)

Tabela atrib_group_role

Representa o relacionamento (NxM) entre papeacuteis de grupo e permissotildees de grupo Um

papel de grupo possui um conjunto de permissotildees a ele associadas Quando um papel

eacute atribuiacutedo a um grupo este grupo herda automaticamente todas as permissotildees que

compotildeem o papel de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)group_roleID smallint(5) 0 Foreign Key(group_role)

Tabela user_role_user

Relacionamento (NxM) que representa o mapeamento entre usuaacuterios e papeacuteis de

usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementuserID smallint(5) 0 Foreign Key(user)user_roleID smallint(5) 0 Foreign Key(user_role)

12

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

Nome Tipo de dados NULL PadratildeoExtrasgroupID smallint(5) 0 Foreign Key(group)userID smallint(5) 0 Foreign Key(user)

Tabela context_app

Esse relacionamento faz a associaccedilatildeo entre contextos e aplicaccedilotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrascontextID smallint(5) 0 Foreign Key(context)appID smallint(5) 0 Foreign Key(app)

Tabela permission_user

Entidade que manteacutem as permissotildees de usuaacuterios Armazena o identificador do recurso

a que a permissatildeo se refere o valor ou permissatildeo propriamente dita descriccedilatildeo da

permissatildeo e um flag ldquopriority_over_grouprdquo que eacute usando quando uma permissatildeo de

usuaacuterio estaacute em conflito com uma permissatildeo de grupo ao qual o usuaacuterio pertence

definido qual permissatildeo prevalece (a atribuiacuteda diretamente ao usuaacuterio ou a grupo ao

qual o usuaacuterio pertence)

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_userID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL priority_over_group enum(YN) Y

Tabela permission_group

Essa entidade refere-se agraves permissotildees de grupo Manteacutem o identificador do recurso a

que se refere a permissatildeo o valor e a descriccedilatildeo da permissatildeo o tipo da permissatildeo

(ldquocumulativerdquo ou ldquorankrdquo) e o rank que permite a classificaccedilatildeo de permissotildees O tipo

da permissatildeo eacute necessaacuterio em caso de conflitos (quando um usuaacuterio pertence a mais

de um grupo que possui permissotildees para um dado recurso) Neste caso caso a

permissatildeo seja do tipo ldquocumulativerdquo o usuaacuterio teraacute como permissatildeo para o recurso a

reuniatildeo das permissotildees dos grupos aos quais ele pertence Caso seja do tipo ldquorankrdquo

prevalece a permissatildeo que tiver o maior ldquorankrdquo

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_groupID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL rank int(4) NULL type varchar(15) NULL

Tabela user_role

Entidade referente ao papel de usuaacuterio Manteacutem um conjunto de permissotildees de

usuaacuterio e permite atribuir esse conjunto a usuaacuterios Desta forma eacute possiacutevel de uma soacute

vez atribuir e retirar vaacuterias permissotildees de usuaacuterios

Atributos

Nome Tipo de dados NULL PadratildeoExtrasuser_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) Foreign Key(context)

Tabela group_role

Entidade referente ao papel de grupo Manteacutem um conjunto de permissotildees de grupo e

permite atribuir esse conjunto a grupos Desta forma eacute possiacutevel de uma soacute vez

atribuir e retirar vaacuterias permissotildees de grupos

10

Atributos

Nome Tipo de dados NULL Padratildeo Extrasgroup_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) 0 Foreign Key(context)

Tabela atrib_user

Relacionamento (NxM) entre usuaacuterios e permissotildees de usuaacuterios Manteacutem a associaccedilatildeo

entre usuaacuterios e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_userID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)userID smallint(5) 0 Foreign Key(user)

Tabela atrib_group

Relacionamento (NxM) entre grupos e permissotildees de grupos Manteacutem a associaccedilatildeo

entre grupos e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_groupID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)groupID smallint(5) 0 Foreign Key(group)

Tabela atrib_user_role

Representa o relacionamento (NxM) entre papeacuteis de usuaacuterio e permissotildees de usuaacuterio

Um papel possui um conjunto de permissotildees a ele associadas Quando um papel eacute

atribuiacutedo a um usuaacuterio este usuaacuterio herda automaticamente todas as permissotildees que

compotildeem o papel de usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)user_roleID smallint(5) 0 Foreign Key(user_role)

Tabela atrib_group_role

Representa o relacionamento (NxM) entre papeacuteis de grupo e permissotildees de grupo Um

papel de grupo possui um conjunto de permissotildees a ele associadas Quando um papel

eacute atribuiacutedo a um grupo este grupo herda automaticamente todas as permissotildees que

compotildeem o papel de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)group_roleID smallint(5) 0 Foreign Key(group_role)

Tabela user_role_user

Relacionamento (NxM) que representa o mapeamento entre usuaacuterios e papeacuteis de

usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementuserID smallint(5) 0 Foreign Key(user)user_roleID smallint(5) 0 Foreign Key(user_role)

12

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

(ldquocumulativerdquo ou ldquorankrdquo) e o rank que permite a classificaccedilatildeo de permissotildees O tipo

da permissatildeo eacute necessaacuterio em caso de conflitos (quando um usuaacuterio pertence a mais

de um grupo que possui permissotildees para um dado recurso) Neste caso caso a

permissatildeo seja do tipo ldquocumulativerdquo o usuaacuterio teraacute como permissatildeo para o recurso a

reuniatildeo das permissotildees dos grupos aos quais ele pertence Caso seja do tipo ldquorankrdquo

prevalece a permissatildeo que tiver o maior ldquorankrdquo

Atributos

Nome Tipo de dados NULL Padratildeo Extraspermission_groupID smallint(5) auto_incrementresourceID int(11) 0 Foreign Key(resource)value varchar(100) 0 description varchar(80) NULL rank int(4) NULL type varchar(15) NULL

Tabela user_role

Entidade referente ao papel de usuaacuterio Manteacutem um conjunto de permissotildees de

usuaacuterio e permite atribuir esse conjunto a usuaacuterios Desta forma eacute possiacutevel de uma soacute

vez atribuir e retirar vaacuterias permissotildees de usuaacuterios

Atributos

Nome Tipo de dados NULL PadratildeoExtrasuser_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) Foreign Key(context)

Tabela group_role

Entidade referente ao papel de grupo Manteacutem um conjunto de permissotildees de grupo e

permite atribuir esse conjunto a grupos Desta forma eacute possiacutevel de uma soacute vez

atribuir e retirar vaacuterias permissotildees de grupos

10

Atributos

Nome Tipo de dados NULL Padratildeo Extrasgroup_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) 0 Foreign Key(context)

Tabela atrib_user

Relacionamento (NxM) entre usuaacuterios e permissotildees de usuaacuterios Manteacutem a associaccedilatildeo

entre usuaacuterios e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_userID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)userID smallint(5) 0 Foreign Key(user)

Tabela atrib_group

Relacionamento (NxM) entre grupos e permissotildees de grupos Manteacutem a associaccedilatildeo

entre grupos e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_groupID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)groupID smallint(5) 0 Foreign Key(group)

Tabela atrib_user_role

Representa o relacionamento (NxM) entre papeacuteis de usuaacuterio e permissotildees de usuaacuterio

Um papel possui um conjunto de permissotildees a ele associadas Quando um papel eacute

atribuiacutedo a um usuaacuterio este usuaacuterio herda automaticamente todas as permissotildees que

compotildeem o papel de usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)user_roleID smallint(5) 0 Foreign Key(user_role)

Tabela atrib_group_role

Representa o relacionamento (NxM) entre papeacuteis de grupo e permissotildees de grupo Um

papel de grupo possui um conjunto de permissotildees a ele associadas Quando um papel

eacute atribuiacutedo a um grupo este grupo herda automaticamente todas as permissotildees que

compotildeem o papel de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)group_roleID smallint(5) 0 Foreign Key(group_role)

Tabela user_role_user

Relacionamento (NxM) que representa o mapeamento entre usuaacuterios e papeacuteis de

usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementuserID smallint(5) 0 Foreign Key(user)user_roleID smallint(5) 0 Foreign Key(user_role)

12

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

Atributos

Nome Tipo de dados NULL Padratildeo Extrasgroup_roleID int(6) unsigned auto_incrementname varchar(30) description varchar(100) NULL contextID tinyint(4) 0 Foreign Key(context)

Tabela atrib_user

Relacionamento (NxM) entre usuaacuterios e permissotildees de usuaacuterios Manteacutem a associaccedilatildeo

entre usuaacuterios e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_userID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)userID smallint(5) 0 Foreign Key(user)

Tabela atrib_group

Relacionamento (NxM) entre grupos e permissotildees de grupos Manteacutem a associaccedilatildeo

entre grupos e permissotildees

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_groupID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)groupID smallint(5) 0 Foreign Key(group)

Tabela atrib_user_role

Representa o relacionamento (NxM) entre papeacuteis de usuaacuterio e permissotildees de usuaacuterio

Um papel possui um conjunto de permissotildees a ele associadas Quando um papel eacute

atribuiacutedo a um usuaacuterio este usuaacuterio herda automaticamente todas as permissotildees que

compotildeem o papel de usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)user_roleID smallint(5) 0 Foreign Key(user_role)

Tabela atrib_group_role

Representa o relacionamento (NxM) entre papeacuteis de grupo e permissotildees de grupo Um

papel de grupo possui um conjunto de permissotildees a ele associadas Quando um papel

eacute atribuiacutedo a um grupo este grupo herda automaticamente todas as permissotildees que

compotildeem o papel de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)group_roleID smallint(5) 0 Foreign Key(group_role)

Tabela user_role_user

Relacionamento (NxM) que representa o mapeamento entre usuaacuterios e papeacuteis de

usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementuserID smallint(5) 0 Foreign Key(user)user_roleID smallint(5) 0 Foreign Key(user_role)

12

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

atribuiacutedo a um usuaacuterio este usuaacuterio herda automaticamente todas as permissotildees que

compotildeem o papel de usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementpermission_userID smallint(5) 0 Foreign Key(permission_user)user_roleID smallint(5) 0 Foreign Key(user_role)

Tabela atrib_group_role

Representa o relacionamento (NxM) entre papeacuteis de grupo e permissotildees de grupo Um

papel de grupo possui um conjunto de permissotildees a ele associadas Quando um papel

eacute atribuiacutedo a um grupo este grupo herda automaticamente todas as permissotildees que

compotildeem o papel de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementpermission_groupID smallint(5) 0 Foreign Key(permission_group)group_roleID smallint(5) 0 Foreign Key(group_role)

Tabela user_role_user

Relacionamento (NxM) que representa o mapeamento entre usuaacuterios e papeacuteis de

usuaacuterio

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_user_roleID smallint(5) unsigned auto_incrementuserID smallint(5) 0 Foreign Key(user)user_roleID smallint(5) 0 Foreign Key(user_role)

12

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

Tabela group_role_group

Relacionamento que representa o mapeamento (NxM) entre grupos e papeacuteis de grupo

Atributos

Nome Tipo de dados NULL PadratildeoExtrasatrib_group_roleID smallint(5) unsigned auto_incrementgroupID smallint(5) 0 Foreign Key(group)group_roleID smallint(5) 0 Foreign Key(group_role)

5 Modelagem UML

51 Diagrama de classes

A Figura 51 ilustra o diagrama de classes referente ao WS4CSCW

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

Figura 51 Diagrama de Classes do WS4CSCW

52 Diagrama de casos de uso

Conforme exibido na Figura 52 o WS4CSCW pode ter dois possiacuteveis usuaacuterios de

seus serviccedilos ldquoModify Applicationrdquo e ldquoConsult Applicationrdquo A primeira tem

permissotildees para adicionar remover e alterar usuaacuterios grupos recursos permissotildees

papeacuteis e as associaccedilotildees entre estes (adicionar e remover usuaacuterios de grupos atribuir e

remover permissotildees de usuaacuterios grupos papeacuteis etc) e fazer consultas como quais

usuaacuterios pertencem a determinado grupo ou qual a permissatildeo de determinado usuaacuterio

para um dado recurso A segunda tem permissatildeo apenas de fazer consultas

14

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

Figura 52 Diagrama de Casos de Uso do WS4CSCW

Quando eacute criado um contexto de integraccedilatildeo-trabalho a ele satildeo atribuiacutedos dois

identificadores um puacuteblico e um privado De posse do identificador privado eacute

possiacutevel registrar aplicaccedilotildees que faratildeo parte deste contexto intercambiando

funcionalidades e compartilhando informaccedilotildees referentes aos grupos e usuaacuterios

Quando uma aplicaccedilatildeo eacute registrada (adicionada ao contexto) a ela eacute atribuiacutedo um

identificador

Uma aplicaccedilatildeo registrada possuiraacute aleacutem de seu identificador um dos

identificadores do contexto a que esta associada (identificador puacuteblico ou privado)

Caso possua o identificador privado a aplicaccedilatildeo se enquadra no tipo ldquoModify

Applicationrdquo descrito anteriormente Caso possua o identificador puacuteblico ela eacute

classificada como ldquoConsult Applicationrdquo

Essa abordagem permite que uma mesma instacircncia instalada do WS4CSCW

permita o funcionamento de vaacuterios contextos de integraccedilatildeo Por exemplo o contexto

ldquoNRP-iClassrdquo refere-se agrave integraccedilatildeo das aplicaccedilotildees No RisK Planning e iClass

conforme descritas na seccedilatildeo 6 Jaacute o contexto ldquoICMCrdquo refere-se agrave integraccedilatildeo de

algumas outras aplicaccedilotildees de apoio ao ensino e esta outra integraccedilatildeo possui

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

informaccedilotildees referentes a usuaacuterio e grupos diferentes em relaccedilatildeo agrave integraccedilatildeo anterior

(outros grupos usuaacuterios recursos etc)

6 Serviccedilos do WS4CSCW

Nesta seccedilatildeo satildeo descritos os serviccedilos disponibilizados pelo WS4CSCW Esses

serviccedilos do relacionam-se a contexto aplicaccedilatildeo usuaacuterio grupo recurso permissatildeo e

papel A seguir satildeo descritos para cada uma das entidades a que se referem os

serviccedilos o funcionamento entrada e saiacuteda No apecircndice desse relatoacuterio eacute exibido o

documento WSDL referente ao serviccedilo

61 Contexto

611 createContext

Cria um novo contexto e retorna um identificador privado e um puacuteblico referentes a

este contexto

Paracircmetro Descriccedilatildeocontext_name Nome do contextodescription Descriccedilatildeo do contexto

Retorno - Erro [Context already exists] ou

- Identificador Publico e Identificador Privado do contexto

62 Aplicaccedilatildeo

621 addApp

Adiciona uma aplicaccedilatildeo e a associa a um contexto existente (dado pelo identificador)

e retorna o identificador privado correspondente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoapp_name Nome da aplicaccedilatildeodescription Descriccedilatildeol da aplicaccedilatildeo

Retorno - Erro [Invalid Context Identifier]

[Application already exists in context] ou

16

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

- Identificador da aplicaccedilatildeo

63 Usuaacuterio

631 addUser

Adiciona um usuaacuterio a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do usuaacuterionick Nickname do usuaacuterioemail Email do usuaacuteriodescription Descriccedilatildeo do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added]

632 addUsertoGroup

Adiciona um usuaacuterio a um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown] ou

- Confirmaccedilatildeo de inserccedilatildeo [User added to group]

633 removeUserfromGroup

Remove um usuaacuterio de um grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[Group Unknown]

[User does not belong to group] ou

- Confirmaccedilatildeo de remoccedilatildeo [User deleted from group]

634 getUsersinGroup

Retorna os usuaacuterios pertencentes a um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown] ou

- Nome dos usuaacuterios pertencentes ao grupo

635 getUsersinResourcePermissions

Retorna quais usuaacuterios tecircm permissatildeo para o recurso dado Uacutetil para saber quem tem

acesso a determinado recurso

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name] ou

- Nome dos usuaacuterios que possuem permissatildeo para o recurso dado

18

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

64 Grupo

641 addGroup

Cria um grupo e o adiciona a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do grupocategory Categoria do gruposigla Sigla do grupodescription Descriccedilatildeo do grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group added]

642 getGroupsfromUser

Retorna os grupos aos quais um usuaacuterio pertence

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown] ou

- Nome dos grupos aos quais o usuaacuterio pertence

65 Recurso

651 addResource

Adiciona um recurso a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

name Nome do recursoboolType Flag para permissotildees de valores booleanosdescription Descriccedilatildeo do recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Resource already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Resource added]

66 Papel

661 addUserRole

Cria um papel de usuaacuterio e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [User Role added]

662 addGroupRole

Cria um papel de grupo e o associa a um contexto existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoname Nome do papeldescription Descriccedilatildeo do papel

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Role already exists in context] ou

- Confirmaccedilatildeo de inserccedilatildeo [Group Role added]

663 addUserRoletoUser

20

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

Associa um usuaacuterio a um papel de usuaacuterio Este usuaacuterio herda automaticamente todas

as permissotildees associadas ao papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role already added to user] ou

- Confirmaccedilatildeo de associaccedilatildeo [User Role assigned to user]

664 removeUserRolefromUser

Desassocia um usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeouserName Nome do usuaacuteriouserRole Nome do papel de usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[User Unknown]

[User Role Unknown]

[User Role is not assigned to user] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [User Role unassigned to user]

665 addGroupRoletoGroup

Associa um grupo a um papel de grupo Este grupo herda automaticamente todas as

permissotildees associadas ao papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeo

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

groupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role already added to group] ou

- Confirmaccedilatildeo de associaccedilatildeo [Group Role assigned to group]

666 removeGroupRolefromGroup

Desassocia um grupo de um papel de grupo existente

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeogroupName Nome do grupogroupRole Nome do papel de grupo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Group Unknown]

[Group Role Unknown]

[Group Role is not assigned to group] ou

- Confirmaccedilatildeo de deassociaccedilatildeo [Group Role unassigned to group]

67 Permissatildeo

671 addUserPermission

Cria uma permissatildeo de usuaacuterio e a associa a um recurso existente A permissatildeo natildeo eacute

associada a um usuaacuterio ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribUserPermissiontoUser ou ldquoatribUserPermissiontoUserRolerdquo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeo

22

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

value Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recurso

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

672 addGroupPermission

Cria uma permissatildeo de grupo e a associa a um recurso existente A permissatildeo natildeo eacute

associada a grupo ou papel especiacutefico Isso eacute feito atraveacutes da funccedilatildeo

atribGrouprPermissiontoGroup ou atribGrouprPermissiontoGroupRole Se a

permissatildeo de grupo eacute do tipo cumulative (acumulativa) para um dado recurso o

usuaacuterio que pertence a dois ou mais grupos que possuem permissatildeo para o recurso

teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos grupos a que pertence

Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio que pertence a dois ou

mais grupos teraacute como permissatildeo resultante ao recurso a permissatildeo que tiver o maior

rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de inserccedilatildeo [Permission added]

673 atribUserPermissiontoUser

Atribui uma permissatildeo de usuaacuterio para o recurso dado a um usuaacuterio Eacute necessaacuterio que

o recurso jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

674 removeUserPermissionfromUser

Desassocia uma permissatildeo de usuaacuterio de um usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserName Nome do usuaacuterio a que estaacute atribuiacuteda a permissatildeo

24

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

675 atribGroupPermissiontoGroup

Atribui uma permissatildeo de grupo para o recurso dado a um grupo Eacute necessaacuterio que o

recurso jaacute esteja criado Se a permissatildeo de grupo eacute do tipo cumulative (acumulativa)

para um dado recurso o usuaacuterio que pertence a dois ou mais grupos que possuem

permissatildeo para o recurso teraacute como permissatildeo resultante agrave reuniatildeo das permissotildees dos

grupos a que pertence Caso a permissatildeo seja do tipo rank (classificadora) o usuaacuterio

que pertence a dois ou mais grupos teraacute como permissatildeo resultante ao recurso a

permissatildeo que tiver o maior rank (fator classificador)

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]rank Niacutevel da permissatildeogroupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoInvalid Type Permissionrdquo]

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

676 removeGroupPermissionfromGroup

Desassocia uma permissatildeo de grupo de um grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeotype Tipo da permissatildeo [cumulativerank]groupName Nome do grupo a que se atribui a permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Name]

[ldquoPermission Unknownrdquo]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

677 atribUserPermissiontoUserRole

Atribui uma permissatildeo de usuaacuterio a um papel de usuaacuterio Eacute necessaacuterio que o recurso

jaacute esteja criado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

26

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54

[ldquoPermission already existsrdquo]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

678 removeUserPermissionfromUserRole

Desassocia uma permissatildeo de usuaacuterio de um papel de usuaacuterio

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursouserRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid User Role Name]

[ldquoPermission Unknownrdquo] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

679 atribGroupPermissiontoGroupRole

Atribui uma permissatildeo de grupo a um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeodescription Descriccedilatildeo da permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de grupo a que se atribui a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission already exists]

[Invalid Type Permission]

[Resource type is boolean Permissions value must be Y or

N] ou

- Confirmaccedilatildeo de atribuiccedilatildeo [Permission attributed]

6710 removeGroupPermissionfromGroupRole

Desassocia uma permissatildeo de grupo de um papel de grupo

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeovalue Valor associado agrave permissatildeopriorityovergroup Se a permissatildeo tem prioridade sobre uma eventual

permissatildeo de grupo para o mesmo recursogroupRoleName Nome do papel de usuaacuterio a que estaacute atribuiacuteda a

permissatildeo

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[Invalid Group Role Name]

[Permission Unknown]

[Invalid Type Permission] ou

- Confirmaccedilatildeo de remoccedilatildeo [Permission deleted]

6711 getUserPermissionfromUser

Retorna qual permissatildeo ou permissotildees o usuaacuterio possui para o recurso dado Essa

busca considera todas as permissotildees para o recurso resourceName atribuiacutedas ao

usuaacuterio userName

28

1) Atribuiacutedas diretamente ao usuaacuterio

2) Atribuiacutedas a papeacuteis de usuaacuterio que estejam associados ao usuaacuterio

3) Atribuiacutedas a grupos aos quais o usuaacuterio pertence

4) Atribuiacutedas a papeacuteis de grupos associados aos grupos aos quais o usuaacuterio

pertence

Para as buscas de permissotildees de grupos eacute considerado o tipo da permissatildeo de usuaacuterio

(priotity_over_group)

A) Sim satildeo desconsideradas as permissotildees de grupo para o recurso jaacute que a

permissatildeo de usuaacuterio deve prevalecer Satildeo retornadas apenas as permissotildees das

opccedilotildees 1) e 2) descritas acima

Utilidade Caso seja necessaacuterio fornecer ao usuaacuterio algum niacutevel de permissatildeo

diferente (maior ou menor) da permissatildeo associada ao(s) grupo(s) ao(s) qual(is) ele

pertence

B) Natildeo satildeo consideradas tambeacutem as permissotildees associadas ao(s) grupo(s) ao

qual(is) o usuaacuterio pertence

Utilidade Caso a permissatildeo atribuiacuteda ao usuaacuterio natildeo precisa substituir a permissatildeo

atribuiacuteda ao(s) grupo(s) ao(s) qual(is) ele pertence Ou seja a permissatildeo atribuiacuteda ao

usuaacuterio deve ser adicional acumular-se com as permissotildees dos grupos Neste caso

satildeo retornadas as permissotildees das opccedilotildees 1) 2) 3) e 4) descritas acima Com relaccedilatildeo

agraves opccedilotildees 3) e 4) haacute duas possibilidades

a) Permissotildees de grupo para esse recurso satildeo do tipo rank eacute retornada

apenas a permissatildeo que possui o maior valor de rank jaacute que as permissotildees satildeo

classificadoras

b) Permissotildees de grupo para esse recurso satildeo do tipo cumulative satildeo

retornadas todas as permissotildees (atribuiacutedas a todos os grupos ou papeacuteis de grupos

associados a grupos aos quais o usuaacuterio pertence) jaacute que as permissotildees satildeo

acumulativas

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuterio

Retorno - Erro [Invalid Context Identifier]

[Invalid App Identifier]

[Invalid Resource Name]

[ldquoUser Unknownrdquo] ou

- Permissotildees para o usuaacuterio neste recurso

6712 getUserHasPermissionValue

Verifica se o usuaacuterio possui o valor dado associado como permissatildeo para o recurso

dado

Paracircmetro DescriccedilatildeocontextPrivateId Identificador privado do contextoappPrivateID Identificador da aplicaccedilatildeoresourceName Nome do recurso a que se refere a permissatildeouserName Nome do usuaacuteriovalue Valor associado ao recurso

Retorno - 1 se o usuaacuterio possui o valor dado para o recurso dado ou

- 0 caso contraacuterio (Natildeo possui o valor value associado como

permissatildeo ao recurso resourceName)

7 Estudo de Caso

Como estudo de caso foi realizada a integraccedilatildeo dos aplicativos iClass e No Risk

Planning conforme descritos a seguir

71 Aplicaccedilotildees envolvidas

O iClass1 eacute um sistema de computaccedilatildeo ubiacutequa que oferece um suporte efetivo agrave

captura de experiecircncias ao vivo tanto de aulas como de reuniotildees informais

1 Disponiacutevel em httpiclassicmcuspbr

30

disponibilizando um acesso posterior ao material capturado na forma de documentos

estruturados gerados automaticamente

Para a captura de uma experiecircncia o sistema utiliza uma sala de aula equipada

com microfones cacircmeras de viacutedeo projetores e uma lousa eletrocircnica sensiacutevel ao

toque que conectada a um computador permite armazenar as interaccedilotildees do usuaacuterio

com a tela

Para prover acesso ao material capturado um conjunto de aplicaccedilotildees cliente-

servidor eacute responsaacutevel pela integraccedilatildeo e sincronizaccedilatildeo dos vaacuterios fluxos de

informaccedilatildeo capturados Apoacutes a aula as informaccedilotildees satildeo armazenadas em uma base de

dados e a partir da mesma scripts geram hiperdocumentos que podem ser

visualizados em um web-browser Cada aula eacute gravada como um uacutenico fluxo de aacuteudio

ou viacutedeo e a interface de acesso disponibiliza diferentes formas de indexaccedilatildeo das

informaccedilotildees gravadas Por exemplo ao ver um slide o estudante tem a possibilidade

de clicar em uma anotaccedilatildeo e visualizar o trecho de aacuteudio ou viacutedeo capturado no

momento em que tal anotaccedilatildeo foi feita

A outra aplicaccedilatildeo utilizada na integraccedilatildeo eacute a No Risk Planning2 uma agenda

compartilhada por grupos de pessoas de modo que os usuaacuterios possam utilizaacute-la de

qualquer lugar com um computador conectado agrave Internet (Ribeiro Fortes amp Freire

2002) Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de

graduaccedilatildeo (Moura 2001) O processo de engenharia manutenccedilatildeo e evoluccedilatildeo do

sistema foi tema de uma Dissertaccedilatildeo de mestrado (Ribeiro 2003)

Considerando-se os serviccedilos e funcionalidades que uma agenda para grupos

deve suportar foi realizado um estudo comparativo entre a ferramenta No Risk

Planning e outras ferramentas atualmente disponiacuteveis ou em desenvolvimento Esse

estudo engloba tanto aspectos funcionais tais como caracteriacutesticas funcionalidades e

particularidades providas bem como aspectos teacutecnicos como linguagens e recursos

usados na implementaccedilatildeo O estudo descreve ainda as vantagens e desvantagens de

cada aplicativo analisado (Vieira 2003) Aleacutem desta anaacutelise comparativa o processo

de desenvolvimento da agenda No Risk Planning foi analisado e reportado em (Fortes

Freire Vieira amp Paiva 2004)

2 Disponiacutevel em httpcowebicmcuspbrnorisk

Aleacutem do agendamento de compromissos para grupos a agenda disponibiliza

ainda o compartilhamento de arquivos bate-papo visualizaccedilatildeo das informaccedilotildees do

grupo dos membros e de suas informaccedilotildees pessoais exibiccedilatildeo das agendas de todos os

membros que fazem parte do grupo permitindo que todos possam fazer comparaccedilotildees

entre seus horaacuterios e os horaacuterios dos demais membros e exibiccedilatildeo de avisos

72 Uso do WS4CSCW

O objetivo da integraccedilatildeo eacute permitir que durante a exibiccedilatildeo e captura de uma

aula atraveacutes do iClass o professor ou apresentador pode adicionar um compromisso

na agenda No Risk Planning Na Figura 71 eacute exibida a interface do iClass com um

botatildeo adicionado para acionar a funcionalidade da agenda Quando um usuaacuterio realiza

um login na ferramenta iClass antes de iniciar a apresentaccedilatildeo eacute realizada uma

consulta ao WS4CSCW sobre a permissatildeo do usuaacuterio para o sistema de captura e para

a funcionalidade de interaccedilatildeo com a agenda (Figura 72 (a)) Caso o usuaacuterio natildeo tenha

permissatildeo de uso da ferramenta natildeo eacute iniciada a apresentaccedilatildeo Caso o usuaacuterio tenha

permissatildeo de uso da ferramenta mas natildeo de acesso agrave agenda o botatildeo eacute desabilitado

32

Figura 71 Interface iClass com o botatildeo que aciona o Web Service

Figura 72 Cenaacuterio de uso Integraccedilatildeo iClass ndash No Risk Planning

Supondo que o usuaacuterio tenha permissatildeo de interaccedilatildeo com a agenda quando o

botatildeo que aciona a funcionalidade da agenda eacute clicado eacute disponibilizada a interface

exibida na Figura 73 Atraveacutes desta interface o usuaacuterio pode definir a data tipo

horaacuterio inicial e final descriccedilatildeo url e grupo ao qual se refere o compromisso

Ao definir os dados e clicar em inserir primeiramente eacute realizada uma consulta

ao WS4CSCW sobre a permissatildeo do usuaacuterio para a inserccedilatildeo de compromissos para

este grupo (Figura 72 (a)) Se o usuaacuterio for um aluno apresentando um trabalho e natildeo

o professor por exemplo ele natildeo tem permissatildeo para inserir compromissos na agenda

do grupo ou da disciplina Caso tenha permissatildeo a requisiccedilatildeo eacute entatildeo encaminhada ao

Web Service da agenda que realiza a inserccedilatildeo do compromisso conforme exibido

(Figura 72 (b))

Figura 73 Interface requisiccedilatildeo de agendamento de compromissos

O Web Service da agenda tambeacutem faz uso do WS4CSCW Quando recebe uma

requisiccedilatildeo de inserccedilatildeo de compromissos para grupo eacute realizada uma consulta ao

WS4CSCW sobre quais usuaacuterios pertencem agravequele grupo (Figura 73 (c)) A partir

desta informaccedilatildeo eacute inserido o compromisso nas agendas dos membros do grupo As

informaccedilotildees referentes agraves consultas descritas jaacute foram anteriormente cadastradas

como usuaacuterios grupos recursos quais usuaacuterios pertencem a cada grupo permissotildees a

recursos etc

Caso natildeo seja necessaacuterio ou permitido o usuaacuterio poderia inserir um

compromisso apenas na sua agenda e natildeo na do grupo Ou por exemplo inserir na

agenda da disciplina no caso de um monitor da disciplina que tem essa permissatildeo

Depois de capturadas as aulas e apresentaccedilotildees o iClass disponibiliza acesso a

esse material Uma ideacuteia seria disponibilizar o acesso de forma personalizada

permitindo que os usuaacuterios acessem apenas os materiais referentes a ele (disciplinas

34

que cursa leciona ou monitora) ou reuniotildees de grupos dos quais ele faz parte Essas

informaccedilotildees de usuaacuterios grupos e permissotildees poderiam ser obtidas do WS4CSCW

Uma outra utilizaccedilatildeo possiacutevel refere-se agrave integraccedilatildeo de ferramentas que

auxiliam o desenvolvimento de software livre especificamente o projeto SAFE [ref

SAFE] cujo objetivo eacute um framework para apoiar o processo de desenvolvimento de

software livre Algumas das ferramentas a serem integradas satildeo Bugzilla3 a

NoRiskPlanning e VersionWeb4 Para permitir que essas ferramentas trabalhem de

forma consistente e sincronizada a utilizaccedilatildeo do WS4CSCW eacute uma boa opccedilatildeo Desta

forma o WS4CSCW disponibilizaria um gerenciamento de usuaacuterios e grupos dessas

ferramentas e o controle de permissotildees a recursos como funcionalidades e projetos

em desenvolvimento

8 Conclusatildeo

Trabalhos futuros

1) Expansatildeo do WS4CSCW com mais serviccedilos

2) Interface graacutefica para gerenciamento dos recursos permissotildees grupos e

usuaacuterios

3 httpwwwbugzillaorg4 http - referenciar Version Web

Referecircncias Bibliograacuteficas

(Borges Cavalcanti amp Campos 1995) ndash BORGES MRS CAVALCANTI MCR

amp CAMPOS MLM Suporte por computador ao trabalho cooperativo XV

Congresso da Sociedade Brasileira de Computaccedilatildeo Canela RS 1995

(Chang Zhang amp Jiang 2001) ndash Chang C J Zhang J Jiang T M ldquoFormalization

of Computer Supported Cooperative Work Applicationsrdquo Proceedings of the

Eighth IEEE Workshop on Future Trends of Distributed Computing Systems

(FTDCSrsquo01) 7 pg 2001

(Fielding et al 1999) - Fielding R Gettys J Mogul J Frystyk H Masinter L

Leach P and Berners-Lee T (1999) RFC 2616 Hypertext Transfer Protocol -

http11 httpwwwietforgrfcrfc2616txt

(

Fluckiger 1995) ndash Fluckiger F ldquoTaxonomy of multimedia applications in

Understanding networked multimedia Applications and technology Capiacutetulo 6

pp109-121 Prentice-Hall 1995

(Fortes Freire Vieira amp Paiva 2004) - Fortes R P M Freire A P Vieira V H

Paiva D M B ldquoAn Academic Web-Based Agenda and Its Engineering Processrdquo

ndash VII Workshop Iberoamericano de Ingenieriacutea de Requisitos y Desarrollo de

Ambientes de Software ndash Arequipa Peru janeiro de 2004

(Kleijnen amp Raju 2003) - Kleijnen S and Raju S (2003) An Open Web Services

Architecture Queue 1(1)38ndash46

(Microsystems 2002) - Microsystems S - Java Remote Method Invocation

Specification Sun Microsystems version 14

(Mills 1999) ndash Mills K L ldquoIntroduction to the Eletronic Symposium on Computer

Supported Cooperative Workrdquo ACM Computing Surveys Vol 31 No 2 June

1999

(Moura 2001) ndash Moura M V No Risk Planning - um sistema de suporte ao trabalho

em grupo uma proposta para Web Satildeo Carlos 2001 - Monografia de Projeto de

Graduaccedilatildeo ndash Universidade de Satildeo Paulo (USP) ndash Campus de Satildeo Carlos

36

(Object Management Group 2001) - CORBAIIOP Specification OMG publications

httpwwwomgorgtechnologydocumentsformalcorba_iiophtm

(Ribeiro 2003) ndash Ribeiro T M ndash Evoluccedilatildeo de uma agenda para grupos na Web - Satildeo

Carlos-SP agosto de 2003 Dissertaccedilatildeo (Mestrado) Instituto de Ciecircncias

Matemaacuteticas e de Computaccedilatildeo Universidade de Satildeo Paulo

(Ribeiro Fortes amp Freire 2002) ndash Ribeiro T M Fortes R P M Freire A P -

Documentaccedilatildeo do Software Agenda ldquoNo Risk Planningrdquo Satildeo Carlos-SP ICMC-

USP Brasil 2003 69p (Relatoacuterios Teacutecnicos do ICMC 182)

(Stal 2002) - Stal M - Web Services beyond component-based computing

Communications of the ACM 45(10)71ndash76

(Vieira 2003) - Vieira V H ldquoAplicaccedilotildees Groupware Um Estudo Comparativo com a

Agenda No Risk Planningrdquo ndash Monografia de Projeto de Graduaccedilatildeo ndash ICMC USP

ndash Satildeo Carlos SP novembro de 2003

(W3C 2003) ndash W3C ndash Web Services Description Language (WSDL) Disponiacutevel

online em httpwwww3orgTRwsdl12

(W3C 2002) ndash W3C ndash Web Services Activity Disponiacutevel online em

httpwwww3org2002ws

Apecircndice WSDL do WS4CSCW

ltxml version=10 encoding=UTF-8 gt

- ltwsdldefinitions targetNamespace=httplocalhost8080axisws4cscwjws xmlns=httpschemasxmlsoaporgwsdl xmlnsapachesoap=httpxmlapacheorgxml-soap xmlnsimpl=httplocalhost8080axisws4cscwjws xmlnsintf=httplocalhost8080axisws4cscwjws xmlnssoapenc=httpschemasxmlsoaporgsoapencoding xmlnswsdl=httpschemasxmlsoaporgwsdl xmlnswsdlsoap=httpschemasxmlsoaporgwsdlsoap xmlnsxsd=httpwwww3org2001XMLSchemagt

- ltwsdltypesgt- ltschema targetNamespace=httplocalhost8080axisws4cscwjws

xmlns=httpwwww3org2001XMLSchemagt ltimport namespace=httpschemasxmlsoaporgsoapencoding gt - ltcomplexType name=ArrayOf_xsd_stringgt- ltcomplexContentgt- ltrestriction base=soapencArraygt ltattribute ref=soapencarrayType wsdlarrayType=xsdstring[] gt ltrestrictiongt ltcomplexContentgt ltcomplexTypegt ltschemagt ltwsdltypesgt

- ltwsdlmessage name=atribUserPermissiontoUserRoleResponsegt ltwsdlpart name=atribUserPermissiontoUserRoleReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleResponsegt ltwsdlpart name=removeUserPermissionfromUserRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupResponsegt ltwsdlpart name=addUsertoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

38

- ltwsdlmessage name=atribUserPermissiontoUserResponsegt ltwsdlpart name=atribUserPermissiontoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupResponsegt ltwsdlpart name=addGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleResponsegt ltwsdlpart name=addGroupRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserResponsegt ltwsdlpart name=addUserRoletoUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=createContextResponsegt ltwsdlpart name=createContextReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueResponsegt ltwsdlpart name=getUserHasPermissionValueReturn type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt

ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupResponsegt ltwsdlpart name=removeGroupRolefromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoleResponsegt ltwsdlpart name=addUserRoleReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserResponsegt ltwsdlpart name=removeUserRolefromUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addAppResponsegt ltwsdlpart name=addAppReturn type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=getUserPermissionfromUserResponsegt ltwsdlpart name=getUserPermissionfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupResponsegt ltwsdlpart name=atribGroupPermissiontoGroupReturn type=xsdstring gt

40

ltwsdlmessagegt- ltwsdlmessage name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlpart name=atribGroupPermissiontoGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserRolefromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoletoGroupResponsegt ltwsdlpart name=addGroupRoletoGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribUserPermissiontoUserRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=priorityovergroup type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUsersinGroupResponsegt ltwsdlpart name=getUsersinGroupReturn type=implArrayOf_xsd_string

gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRoletoUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=userRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceResponsegt ltwsdlpart name=addResourceReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getGroupsfromUserResponsegt ltwsdlpart name=getGroupsfromUserReturn

type=implArrayOf_xsd_string gt ltwsdlmessagegt

- ltwsdlmessage name=addUserResponsegt ltwsdlpart name=addUserReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt

ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupResponsegt ltwsdlpart name=removeGroupPermissionfromGroupReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserfromGroupResponsegt ltwsdlpart name=removeUserfromGroupReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=category type=xsdstring gt ltwsdlpart name=sigla type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupRolefromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserPermissionResponsegt ltwsdlpart name=addUserPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=getUserHasPermissionValueRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addResourceRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=bool type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=name type=xsdstring gt ltwsdlpart name=nick type=xsdstring gt ltwsdlpart name=email type=xsdstring gt ltwsdlpart name=description type=xsdstring gt

42

ltwsdlmessagegt- ltwsdlmessage name=getUserPermissionfromUserRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addAppRequestgt ltwsdlpart name=context_identifier type=xsdstring gt ltwsdlpart name=app_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeUserPermissionfromUserResponsegt ltwsdlpart name=removeUserPermissionfromUserReturn type=xsdstring

gt ltwsdlmessagegt

- ltwsdlmessage name=createContextRequestgt ltwsdlpart name=context_name type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=groupRoleName type=xsdstring gt ltwsdlpart name=resourceName type=xsdstring gt ltwsdlpart name=value type=xsdstring gt ltwsdlpart name=description type=xsdstring gt ltwsdlpart name=type type=xsdstring gt ltwsdlpart name=rank type=xsdint gt ltwsdlmessagegt

- ltwsdlmessage name=addUsertoGroupRequestgt ltwsdlpart name=appPrivateID type=xsdstring gt ltwsdlpart name=contextId type=xsdstring gt ltwsdlpart name=userName type=xsdstring gt ltwsdlpart name=groupName type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlpart name=removeGroupPermissionfromGroupRoleReturn

type=xsdstring gt ltwsdlmessagegt

- ltwsdlmessage name=addGroupPermissionResponsegt ltwsdlpart name=addGroupPermissionReturn type=xsdstring gt ltwsdlmessagegt

- ltwsdlportType name=ws4cscwgt- ltwsdloperation name=addResource parameterOrder=appPrivateID

contextId name description boolgt ltwsdlinput message=impladdResourceRequest

name=addResourceRequest gt ltwsdloutput message=impladdResourceResponse

name=addResourceResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroup parameterOrder=appPrivateID contextId name category sigla descriptiongt

ltwsdlinput message=impladdGroupRequest name=addGroupRequest gt ltwsdloutput message=impladdGroupResponse name=addGroupResponse

gt ltwsdloperationgt

- ltwsdloperation name=addApp parameterOrder=context_identifier app_name descriptiongt

ltwsdlinput message=impladdAppRequest name=addAppRequest gt ltwsdloutput message=impladdAppResponse name=addAppResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupPermission parameterOrder=appPrivateID contextId resourceName value description type rankgt

ltwsdlinput message=impladdGroupPermissionRequest name=addGroupPermissionRequest gt

ltwsdloutput message=impladdGroupPermissionResponse name=addGroupPermissionResponse gt

ltwsdloperationgt- ltwsdloperation name=addGroupRole parameterOrder=appPrivateID

contextId name descriptiongt ltwsdlinput message=impladdGroupRoleRequest

name=addGroupRoleRequest gt ltwsdloutput message=impladdGroupRoleResponse

name=addGroupRoleResponse gt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=impladdGroupRoletoGroupRequest name=addGroupRoletoGroupRequest gt

ltwsdloutput message=impladdGroupRoletoGroupResponse name=addGroupRoletoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=addUser parameterOrder=appPrivateID contextId

name nick email descriptiongt ltwsdlinput message=impladdUserRequest name=addUserRequest gt ltwsdloutput message=impladdUserResponse name=addUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUserPermission parameterOrder=appPrivateID contextId resourceName value description priorityovergroupgt

ltwsdlinput message=impladdUserPermissionRequest name=addUserPermissionRequest gt

ltwsdloutput message=impladdUserPermissionResponse name=addUserPermissionResponse gt

ltwsdloperationgt

44

- ltwsdloperation name=addUserRole parameterOrder=appPrivateID contextId name descriptiongt

ltwsdlinput message=impladdUserRoleRequest name=addUserRoleRequest gt

ltwsdloutput message=impladdUserRoleResponse name=addUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=addUserRoletoUser parameterOrder=appPrivateID

contextId userName userRoleNamegt ltwsdlinput message=impladdUserRoletoUserRequest

name=addUserRoletoUserRequest gt ltwsdloutput message=impladdUserRoletoUserResponse

name=addUserRoletoUserResponse gt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=impladdUsertoGroupRequest name=addUsertoGroupRequest gt

ltwsdloutput message=impladdUsertoGroupResponse name=addUsertoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroup

parameterOrder=appPrivateID contextId groupName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRequest name=atribGroupPermissiontoGroupRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupResponse name=atribGroupPermissiontoGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=atribGroupPermissiontoGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value description type rankgt

ltwsdlinput message=implatribGroupPermissiontoGroupRoleRequest name=atribGroupPermissiontoGroupRoleRequest gt

ltwsdloutput message=implatribGroupPermissiontoGroupRoleResponse name=atribGroupPermissiontoGroupRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUser

parameterOrder=appPrivateID contextId userName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRequest name=atribUserPermissiontoUserRequest gt

ltwsdloutput message=implatribUserPermissiontoUserResponse name=atribUserPermissiontoUserResponse gt

ltwsdloperationgt- ltwsdloperation name=atribUserPermissiontoUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value description priorityovergroupgt

ltwsdlinput message=implatribUserPermissiontoUserRoleRequest name=atribUserPermissiontoUserRoleRequest gt

ltwsdloutput message=implatribUserPermissiontoUserRoleResponse name=atribUserPermissiontoUserRoleResponse gt

ltwsdloperationgt

- ltwsdloperation name=createContext parameterOrder=context_name descriptiongt

ltwsdlinput message=implcreateContextRequest name=createContextRequest gt

ltwsdloutput message=implcreateContextResponse name=createContextResponse gt

ltwsdloperationgt- ltwsdloperation name=getGroupsfromUser parameterOrder=appPrivateID

contextId userNamegt ltwsdlinput message=implgetGroupsfromUserRequest

name=getGroupsfromUserRequest gt ltwsdloutput message=implgetGroupsfromUserResponse

name=getGroupsfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValue parameterOrder=appPrivateID contextId userName resourceName valuegt

ltwsdlinput message=implgetUserHasPermissionValueRequest name=getUserHasPermissionValueRequest gt

ltwsdloutput message=implgetUserHasPermissionValueResponse name=getUserHasPermissionValueResponse gt

ltwsdloperationgt- ltwsdloperation name=getUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceNamegt ltwsdlinput message=implgetUserPermissionfromUserRequest

name=getUserPermissionfromUserRequest gt ltwsdloutput message=implgetUserPermissionfromUserResponse

name=getUserPermissionfromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroup parameterOrder=appPrivateID contextId groupNamegt

ltwsdlinput message=implgetUsersinGroupRequest name=getUsersinGroupRequest gt

ltwsdloutput message=implgetUsersinGroupResponse name=getUsersinGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroup

parameterOrder=appPrivateID contextId groupName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRequest name=removeGroupPermissionfromGroupRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupResponse name=removeGroupPermissionfromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeGroupPermissionfromGroupRole

parameterOrder=appPrivateID contextId groupRoleName resourceName value typegt

ltwsdlinput message=implremoveGroupPermissionfromGroupRoleRequest name=removeGroupPermissionfromGroupRoleRequest gt

ltwsdloutput message=implremoveGroupPermissionfromGroupRoleResponse name=removeGroupPermissionfromGroupRoleResponse gt

ltwsdloperationgt

46

- ltwsdloperation name=removeGroupRolefromGroup parameterOrder=appPrivateID contextId groupName groupRoleNamegt

ltwsdlinput message=implremoveGroupRolefromGroupRequest name=removeGroupRolefromGroupRequest gt

ltwsdloutput message=implremoveGroupRolefromGroupResponse name=removeGroupRolefromGroupResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUser

parameterOrder=appPrivateID contextId userName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRequest name=removeUserPermissionfromUserRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserResponse name=removeUserPermissionfromUserResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserPermissionfromUserRole

parameterOrder=appPrivateID contextId userRoleName resourceName value priorityovergroupgt

ltwsdlinput message=implremoveUserPermissionfromUserRoleRequest name=removeUserPermissionfromUserRoleRequest gt

ltwsdloutput message=implremoveUserPermissionfromUserRoleResponse name=removeUserPermissionfromUserRoleResponse gt

ltwsdloperationgt- ltwsdloperation name=removeUserRolefromUser

parameterOrder=appPrivateID contextId userName userRoleNamegt ltwsdlinput message=implremoveUserRolefromUserRequest

name=removeUserRolefromUserRequest gt ltwsdloutput message=implremoveUserRolefromUserResponse

name=removeUserRolefromUserResponse gt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroup parameterOrder=appPrivateID contextId userName groupNamegt

ltwsdlinput message=implremoveUserfromGroupRequest name=removeUserfromGroupRequest gt

ltwsdloutput message=implremoveUserfromGroupResponse name=removeUserfromGroupResponse gt

ltwsdloperationgt ltwsdlportTypegt

- ltwsdlbinding name=ws4cscwSoapBinding type=implws4cscwgt ltwsdlsoapbinding style=rpc

transport=httpschemasxmlsoaporgsoaphttp gt - ltwsdloperation name=addResourcegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addResourceRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addResourceResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addAppgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addAppRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addAppResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

48

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addGroupRoletoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addGroupRoletoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addGroupRoletoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserPermissiongt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserPermissionRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserPermissionResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUserRoletoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUserRoletoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUserRoletoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=addUsertoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=addUsertoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=addUsertoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribGroupPermissiontoGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribGroupPermissiontoGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribGroupPermissiontoGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

50

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=atribUserPermissiontoUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=atribUserPermissiontoUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=atribUserPermissiontoUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=createContextgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=createContextRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=createContextResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getGroupsfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getGroupsfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getGroupsfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserHasPermissionValuegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserHasPermissionValueRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserHasPermissionValueResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=getUsersinGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=getUsersinGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=getUsersinGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

52

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupPermissionfromGroupRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupPermissionfromGroupRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupPermissionfromGroupRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeGroupRolefromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeGroupRolefromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeGroupRolefromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserPermissionfromUserRolegt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserPermissionfromUserRoleRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserPermissionfromUserRoleResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserRolefromUsergt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserRolefromUserRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserRolefromUserResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt

- ltwsdloperation name=removeUserfromGroupgt ltwsdlsoapoperation soapAction= gt - ltwsdlinput name=removeUserfromGroupRequestgt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httpDefaultNamespace use=encoded gt

ltwsdlinputgt- ltwsdloutput name=removeUserfromGroupResponsegt ltwsdlsoapbody

encodingStyle=httpschemasxmlsoaporgsoapencoding namespace=httplocalhost8080axisws4cscwjws use=encoded gt

ltwsdloutputgt ltwsdloperationgt ltwsdlbindinggt

- ltwsdlservice name=ws4cscwServicegt- ltwsdlport binding=implws4cscwSoapBinding name=ws4cscwgt ltwsdlsoapaddress location=httplocalhost8080axisws4cscwjws gt ltwsdlportgt ltwsdlservicegt ltwsdldefinitionsgt

54