1a_program custom-apostila antonio chiachio

7

Click here to load reader

Upload: kleiton-vinicius-narcizo

Post on 25-Oct-2015

8 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1a_Program Custom-Apostila Antonio Chiachio

Desenvolvimento de Soluções Integradas ao

Autodesk Vault Antonio Guimarães Chiachio Júnior – MAPData

Esta sessão irá mostrar através de exemplos reais integrações do Autodesk Vault com sistemas externos. Os exemplos mostrarão que é possível utilizar e vincular as informações contidas no Autodesk Vault em aplicações para Web e para Desktop.

Objetivo de aprendizado Ao final desta palestra você terá condições de:

Vislumbrar ideias e possibilidades de integração com Autodesk Vault

Entender quais ferramentas e tecnologias podem ser utilizadas

Sobre o Palestrante

Antonio Guimarães Chiachio Jr. é graduado em Tecnologia em Processamento de Dados e pós-

graduado em Análise de Sistemas. Há mais de 20 anos atuando na área de TI com desenvolvimento de

software, atualmente desenvolve projetos em C# e ASP .Net. É Analista de Sistemas da empresa

MAPData desde 2008, desenvolvendo soluções para produtos Autodesk entre eles, AutoCAD, Autodesk

Inventor e Autodesk Vault. Antonio também é instrutor dos treinamentos em Visual LISP e API do

Autodesk Inventor (.Net).

[email protected]

Page 2: 1a_Program Custom-Apostila Antonio Chiachio

Desenvolvimento de Soluções Integradas ao Autodesk Vault

2

Introdução Através deste material quero demonstrar exemplos práticos de aplicações desenvolvidas utilizando a

plataforma .Net e integradas ao Autodesk Vault.

Muitas empresas têm necessidade de acessar a estrutura de arquivos do Autodesk Vault ou acessar

propriedades dos arquivos armazenados. Isto pode ser feito somente através da API do Autodesk Vault

uma vez que o acesso direto aos arquivos, além de ser algo complexo, invalida a garantia do software.

A mesma regra vale para o Banco de Dados do software.

Esta sessão não vai mostrar detalhes técnicos de como as soluções foram desenvolvidas, mas sim

mostrar o funcionamento das aplicações e discutir as ferramentas e técnicas utilizadas para integração

com o Autodesk Vault.

Exemplos

MAPFlow O MAPFlow é um software desenvolvido em ASP .Net e C# para criação de fluxos de trabalho

customizados e integrados ao Autodesk Vault. O MAPFlow foi desenvolvido para dar maior flexibilidade

a implantação de fluxos de trabalho pois permite a criação de fluxos com diversas etapas e regras para

aprovação e rejeição.

A integração do MAPFlow com o Autodesk Vault ocorre em dois momentos:

Autenticação dos usuários: os usuários que acessam o MAPFlow são os mesmos usuários

cadastrados no Autodesk Vault, veremos isso mais detalhadamente;

Acesso aos arquivos: com o MAPFlow é possível anexar arquivos do Autodesk Vault às etapas

do fluxo ou consultar arquivos já anexados ao fluxo;

Autenticação dos Usuários

O MAPFlow é um software que funciona completamente integrado ao Autodesk Vault sendo assim não

há necessidade que os usuários façam um novo cadastro no MAPFlow. O software utiliza inclusive a

mesma estrutura de grupos de usuários e também é possível utilizar a modalidade “Windows

Authentication”.

Page 3: 1a_Program Custom-Apostila Antonio Chiachio

Desenvolvimento de Soluções Integradas ao Autodesk Vault

3

Esta integração não é feita de forma automática, existe um procedimento que importa a estrutura de

grupos e usuários do Autodesk Vault, porém a autenticação é feita pelo Autodesk Vault, ou seja, as

senhas dos usuários não são copiadas.

Os usuários e grupos importados para o MAPFlow serão os usuários/grupos responsáveis pelo

cumprimento das etapas previstas no fluxo de trabalho.

Acesso a Estrutura de Arquivos

Quando um fluxo de trabalho está em andamento os usuários podem anexar a uma determinada etapa

um ou mais arquivos armazenados no Autodesk Vault. Para que isso fosse possível foi criada uma

interface bem simples semelhante ao Vault Explorer para facilitar a localização dos arquivos.

O usuário pode escolher um ou mais arquivos para serem adicionados ao fluxo de trabalho e quando

isto é feito links como do exemplo abaixo são associados ao fluxo:

Page 4: 1a_Program Custom-Apostila Antonio Chiachio

Desenvolvimento de Soluções Integradas ao Autodesk Vault

4

http://servidorvault/AutodeskDM/Services/EntityData

CommandRequest.aspx?Vault=Vault&ObjectId=%24%2fInve

ntorTeste%2fDrawing12.idw&ObjectType=File&Command=S

elect

Este link quando é acessado gera um arquivo padrão XML com a extensão ACR para “download” que

pode ser salvo em qualquer pasta do computador, o conteúdo do arquivo será como o exemplo abaixo:

<?xml version="1.0" encoding="utf-8"?>

<ADM xmlns="http://schemas.autodesk.com/msd/plm/ExplorerAutomation/2004-11-

01">

<Server>servidorvault</Server>

<Vault>Vault</Vault>

<Operations>

<Operation ObjectType="File">

<ObjectID>$/InventorTeste/Drawing12.idw</ObjectID>

<Command>Select</Command>

</Operation>

</Operations>

</ADM>

Caso o usuário possua o Autodesk Vault Client instalado em seu computador, basta que ele dê dois

cliques neste arquivo e automaticamente o Autodesk Vault Explorer será aberto com o arquivo

selecionado (a autenticação é requerida).

Ferramentas e Técnicas

Para este desenvolvimento foi utilizado o Microsoft Visual Studio 2010 e 2012 e a linguagem de

programação C# (C Sharp). Mas o ponto de destaque neste exemplo é a utilização da API (Application

Programming Interface) do Autodesk Vault através de vários “Web Services” disponíveis, ao invés dos

tradicionais arquivos DLL fornecidos com o SDK. Neste projeto foram utilizados os seguintes “Web

Services”:

http://servidorvault/AutodeskDM/Services/AdminService.asmx

http://servidorvault/AutodeskDM/Services/DocumentService.asmx

http://servidorvault/AutodeskDM/Services/InformationService.asmx

http://servidorvault/AutodeskDM/Services/SecurityService.asmx

http://servidorvault/AutodeskDM/Services/WinAuth/WinAuthService.asmx

A vantagem desta abordagem é que utilizando uma técnica do .Net Framework chamada “Reflection” foi

possível que o software não ficasse preso a uma determinada versão do Autodesk Vault no que diz

respeito a lógica de programação. A única ação necessária é adicionar novas referências aos “Web

Services” quando uma nova versão do Autodesk Vault é disponibilizada.

Na imagem abaixo podemos ver a tela do Visual Studio 2012 onde está sendo criada uma referência

(“Web Reference”) para InformationService.asmx:

Page 5: 1a_Program Custom-Apostila Antonio Chiachio

Desenvolvimento de Soluções Integradas ao Autodesk Vault

5

MAPView O segundo exemplo também é uma aplicação desenvolvida em ASP .Net e C# que permite a

visualização de arquivos DWF através de um navegador. Da mesma forma que no exemplo anterior, o

acesso ao sistema é feito utilizando o mesmo usuário usado para conectar no Autodesk Vault.

Esta aplicação possui uma interface bastante simples onde através de uma caixa de texto, o MAPView

pesquisa na base de dados do Autodesk Vault Workgroup por arquivos que satisfaçam as seguintes

condições:

A propriedade “State” deve estar “Aprovado”;

O texto inserido na caixa de pesquisa deve aparecer em qualquer parte do nome do arquivo.

Page 6: 1a_Program Custom-Apostila Antonio Chiachio

Desenvolvimento de Soluções Integradas ao Autodesk Vault

6

A pesquisa listará os resultados encontrados:

O usuário poderá clicar em qualquer arquivo retornado para que o sistema exiba o respectivo arquivo

DWF no próprio navegador:

Para que o arquivo DWF seja exibido é necessário que o usuário tenha instalado em seu computador o

Autodesk Design Review e o Browser Add-in.

Outra configuração necessária é habilitar a opção do Autodesk Vault que exporta arquivos DWF em

uma pasta da rede, pois é nesta pasta que a aplicação irá buscar o arquivo a ser visualizado.

Page 7: 1a_Program Custom-Apostila Antonio Chiachio

Desenvolvimento de Soluções Integradas ao Autodesk Vault

7

Ferramentas e Técnicas Para este desenvolvimento foi utilizado o Microsoft Visual Studio 2012 e a linguagem de programação

C# (C Sharp), porém o acesso a API do Autodesk Vault foi feito através dos arquivos DLL fornecidos

com o SDK. Neste projeto foram referenciados os seguintes arquivos:

Autodesk.Connectivity.Explorer.Extensibility.dll

Autodesk.Connectivity.Explorer.ExtensibilityTools.dll

Autodesk.Connectivity.WebServices.dll

A vantagem desta abordagem é que o programador, em um primeiro momento não precisa ter acesso

ao servidor para dar início ao desenvolvimento da aplicação, porém toda vez que uma nova versão do

Autodesk Vault for liberada haverá a necessidade de refazer as referências para ter acesso à nova API

e será necessário gerar uma nova versão do aplicativo.

Finalizando Neste documento foram mostradas duas aplicações reais que acessam a API do Autodesk Vault de

formas diferentes. As duas formas de acesso possuem vantagens e desvantagens cabendo ao

desenvolvedor decidir a melhor forma de trabalho. Para versão 2014 do Autodesk Vault existe uma

novidade que é o Vault Developer Framework (VDF) que disponibiliza aos desenvolvedores uma série

de novos controles visuais que aceleram o desenvolvimento de aplicações.

Mais informações podem ser obtidas em:

http://justonesandzeros.typepad.com/

http://wikihelp.autodesk.com/Vault/enu/Help/Help/0378-Develope378/0379-Vault_De379