-------------
[Deployment]
-------------
1) Quando um desenvolvedor adquire o kit de desenvolvimento, o módulo de segurança e o database toolkit, existem quaisquer direitos autorais no tempo de execução para eles?
Todos os produtos constantes são livres de direitos autorais no tempo de execução. A única exceção é o Enterprise Server, camada intermediária (middle tier). Os kits para os desenvolvedores (SDK) não tem custo, mas quando você implantar o seu produto nele, haverá uma taxa anual incorrendo ao usuário final. Similar às CALs do SQL ou Citrix. O preço ainda está por ser publicado, mas o nosso desejo é ser competitivo. Quando publicadas, as taxas serão as seguintes:
Developer Toolkit (SDK) – Gratuito
USD $995 – Até 25 usuários acessando o servidor (25 CAL) / SERVER
USD $2495 – Até 100 usuários acessando o servidor (100 CAL) / SERVER
USD $4995 – Sem limite de usuários / SERVER
Todos os preços são anuais. Nota: Para incorporar esse recurso na sua aplicação, basta apenas uma simples linha de código.
2) Quando a minha aplicação está pronta para a implantação, o SF oferece algum sistema de empacotamento que eu possa utilizar para instalar a minha aplicação? (ex: uma instalação que verifique se o usuário tem o tempo de execução .NEt apropriado, etc...)
Não, você precisará criar a sua própria instalação. Nós usamos atualmente o InstallAware para as nossas aplicações. Ele parece amigável o bastante, instala pacotes e tem uma lista de requerimentos pré-construída.
3) Durante o curso do desenvolvimento, quando o esquema da base de dados se altera e estamos prontos para enviar atualizações, existe alguma facilidade no SF para converter automaticamente a base de dados do usuário?
Essa é a função real do DDT. Ele foi desenhado e é usado atualmente para realizar essa tarefa. Na verdade, não é necessário seguir uma sequência linear quando estiver atualizando as bases de dados dos usuários. Por exemplo, digamos que o usuário usa atualmente a versão 2 da sua aplicação e a sua versão publicada atual seja a 5. Não será necessário que o usuário atualize na sequência (2,3,4 e 5). O DDT atualizará as mudanças do esquema da 2 para a 5, simplesmente instalando a versão 5. O Help do DDT tem exemplos mostrando essa funcionalidade.
4) Eu li que você está planejando lançar um servidor de camada intermediária. Existem direitos autorais ou taxas de licença de servidor envolvidas? Se sim, como é organizado e quando custa? (desta maneira podemos estabelecer um preço final ao produto quando oferecido aos usuários).
Respondido na questão 1.
5) Em um smart client de 3 níveis, será usado um sistema ClickOnce para implantação?
Referem-se à instalação do cenário descrito acima.
---------
[Security]
---------
6) Os usuários/funções/direitos de segurança podem ser criados/modificados por usuários sem a necessidade de um desenvolvedor estar envolvido? Em aplicações comerciais, nós não queremos estar envolvidos na configuração dos usuários, funções e direitos.
Sim, sua única responsabilidade são obviamente as permissões. Essa é uma aplicação muito bem desenhada proporcionando fechamento de sessão, conjunto de restrições, segurança ao nível do campo, funcionalidade CRUD controlada vía propriedade do objeto de negócio, eventos da aplicação, eventos de dados e capacidade para localização.
7) Os dados de segurança são armazenados na base de dados? ou arquivos sem estruturas de relações ou XML?
Todos os dados de segurança são armazenados no SQL Server e requerem o SQL Server pra rodar. Se você usa alguma coisa diferente do SQL, recomendamos a instalação do SQL Express por segurança.
8) Quando um usuário se conecta, como o SF mostra quais os formulários/relatórios/etc estão disponíveis para esse usuário? Isso é feito vía menus ou algum tipo de TreeView?
Na verdade, esta funcionalidade fica sob seu controle. O processo de login é usado para determinar se o Usuário tem permissão de acesso à sua aplicação. Ele simplesmente retorna um valor Boolean e a entrada é uma determinação programática. Uma vez na aplicação, uma SecurityKey unida a cada formulário determina se o usuário tem acesso a esse formulário.
9) Dentro de uma aplicação, como certas partes ou regiões desse formulário podem ser ocultados a certos usuários? Isto é feito vía código, configuração do administrador ou como é feito?
Sim, isso é realizado a partir do nível do campo de segurança. Dependendo do valor da permissão, um campo pode ser ocultado ao usuário, visualizado com um caracter substituto (x ou * - a escolha é sua), apenas leitura ou estado normal de edição. O propósito do caracter substituto é informar ao usuário que aquele dado existe dentro de um campo, mas não é permitida a visualização.
--------------
[Development]
--------------
10) Da mesma forma que você forneceu o SF para WinForms, existem planos para desenvolvimento de WebForm do ASP.NET (usando as suas ferramentas) que possam ser utilizados para conectar ao BO. Assim, podemos oferecer WinForm e WebForm com as mesmas telas e características!
Este recurso atualmente existe para WebForms. Um BO, uma vez criado, pode ser usado através das plataformas.
11) Qual é a melhor maneira de desenvolver lotes de impressões e relatórios?
Trabalhe duro até as duas da manhã. Temos várias visões internamente quanto ao escritor de relatório perfeito. Estamos tentando definir isso dentro dos próximos 30 dias. Entretanto, alguns de nossos usuários utilizam diferentes geradores de relatórios… todos desde o Active Reports até o DevEx’s XtraReports, então você deve perguntar a alguns deles as suas opiniões.
12) Quando uma nova aplicação está sendo desenvolvida, nós criamos as tabelas/campos/índices na Base de Dados antes, e depois as importamos para o SF OU criamos o nosso BO baseado na metodología OO e então o SF cria as tabelas de dados apropriadas e seus relacionamentos?
Recomendamos usar o DDT para criar todas as tabelas/campos/índices/relações e então implante os esquemas com a base de dados. Adicionalmente, os dados estáticos podem ser implantados para os seus usuários. Dentro do SF, indiferente a como os esquemas são criados, um mapeador de BOs interno é utilizado para a forte tipagem dos campos.
13) [Como você sabe] A MS está trabalhando na "Relação de Entidade " ou no vNext o que permite ao desenvolvedor criar um diagrama da sua visão de relação do sistema, independentemente de onde os dados estão. Uma vez que o SF tem o seu próprio mapeador O/R, isso é algo que ele possa usar?
Iremos incorporar e revisar toda nova tecnologia assim que elas tornarem-se disponíveis. Nós usamos o .NET 2.0 beta por 16-18 meses antes do produto ser lançado. O nosso desejo é estar na vanguarda, mas sem se arriscar demais no caminho. Coisas que mudam suas características ficam obsoletas, mas sim, temos interesse em novas técnicas. A próxima versão do SF irá incluir nossa própria implementação da funcionalidade LINQ para prover suporte que se estende até o simples DLINQ e Entidade LINQ que a Microsoft vai fornecer na próxima versão do Visual Studio (Orcas).
14) Ao fazer consultas ou filtragem, o desenvolvedor tem que usar a sua sintaxe proprietária ou é um código do SQL?
Nada é proprietário, que bom. Ele será SQL, C# ou código VB dependendo do que você estiver tentando realizar.
15) Seguindo a questão acima, vocês terão suporte à sintaxe LINQ?
Sim
16) Existem planos para suporte do MS WPF para a interface do usuário?
Sim
17) Qual o sistema de grades que vocês suportam/preferem? Usuários gostam de ver seus dados no formato de matriz (Obrigado ao Excel) )
Infragistics ou DevExpress
18) Existem sistemas pré-contruídos no SF que os usuários possam filtrar/pesquisar seus dados por diferentes campos sem que o desenvolvedor tenha que escrever nenhum tipo de filtro customizado; ex.: lista dos clientes cujo equilíbrio > 2000 e o Estado="Flórida"?
Na realidade não, mas temos uma grande função browse dialog incorporada para localizar as contas.
19) Existem documentos/tutoriais suficientes para iniciar?
Acho que sim. Tentamos fazê-lo tão fácil quanto possível. IMHO
20) Vocês recomendam os Vídeos de Treinamento?
Sim, nós não ouvimos o contrário. Na verdade, nós ouvimos várias boas respostas.