Windows 8 – Conheça o novo sistema operacional da Microsoft que será lançado em 2012

Fonte: http://www.downgratis.com/sistemas-operacionais/windows-8/

O sucesso do sistema operacional Windows  7 já traz especulações a respeito do futuro sistema  operacional da Microsoft: o Windows 8. Apesar de ainda não  se saber a data exata do lançamento do Windows 8 (estima-se que  isto acontecerá no final do ano que vem), algumas informações já vazaram na  internet.

Windows 8 – Veja fotos e vídeos do Windows 8

Enquanto o Windows 8 não é lançado..

Você que aguarda o lançamento do Windows 8 poderá usar temas  para Windows com as mesmas características do novo sistema  operacional da Microsoft.

Se você utiliza o Windows 7, pode usar os temas  do Windows 8 para Windows 7.  Também estão disponíveis os Temas  do Windows 8 para Windows XP. Vale a pena conferir!

Algumas novidades do Windows 8

A primeira mudança significativa que deve receber o novo OS da Microsoft é em  relação ao uso do Kinect (acessório que capta movimentos corporais e transforma  em comandos para o Xbox). A expectativa é que usuários possam realizar tarefas  no PC através de movimentos. Imagine só, com o Windows 8 você  vai poder navegar por diversos sites na internet sem precisar usar mouse ou  teclado.

Mudanças na interface do sistema também já podem ser vistas. Acredita-se que  o Windows 8 será mais parecido visualmente com os sistemas dos  tablets. Isto será feito para o Windows 8 poder ser usado neste  tipo de plataforma. Além disso, o sistema de login também receberá novidades.  Especula-se que será feito através da leitura da retina dos usuários.

Veja um pouco como será o Windows 8:

Este vídeo mostra alguns detalhes interessantes da nova versão do Windows.  Veja logo abaixo:

Este outro vídeo  oficial da Microsoft mostra alguns detalhes de como será o novo Windows:

Estas informações só aumentam a  expectativa em relação ao Windows 8. Resta saber o que acabará  se concretizando e o que é apenas sonho de consumo dos usuários.

 

Anúncios

O que é Fabrica de Software

Fonte: http://www.timaster.com.br/revista/materias/main_materia.asp?codigo=1197&pag=2

O termo Fábrica de Software ainda não tem um significado definido. Saiba
por que ele gera controvérsia

Por Aline Brandão

O
que é Fábrica de Software? A pergunta parece simples, mas não existe uma
resposta definitiva. “O conceito ainda é meio indefinido porque a criação de um
software não é uma ciência precisa”, diz o Diretor de Serviços da BRQ, Guilherme
Müller. De uma forma geral, é ter processos claros e depender mais deles do que
das pessoas, de forma a ter resultados mais previsíveis. O termo software
factory
(fábrica de software em inglês) foi empregado pela primeira vez em
1969, pela japonesa Hitachi, mas só começou a ficar popular no início dos anos
90. A idéia era aplicar conceitos da indústria em geral em ambientes de
desenvolvimento de software, de forma a aumentar a produtividade e diminuir
prazos e custos.

“Quando o mercado começou a falar disso, era algo muito
amplo, ia desde o momento em que o usuário inventava o software até recebê-lo
pronto”, acrescenta Guilherme. Hoje, no entanto, as fábricas de software podem
assumir contornos bem variados. É possível ter uma fábrica responsável por
várias etapas do processo de produção; outras podem trabalhar apenas em
protótipos, código ou testes.

Grandes empresas de TI, como a IBM, têm
suas próprias fábricas de software. Mas o mais comum é que este serviço seja
terceirizado. A BRQ, por exemplo, possui fábricas em Curitiba, São Paulo e Rio
de Janeiro e pretende abrir mais uma em 2007, além de dobrar o número de
empregados neste setor (hoje são cerca de 300). Em vez de “fábrica de software”,
a companhia prefere o termo “fábrica de codificação”.

“Fábrica de
software, de forma geral, tem um escopo mais amplo; inclui análise, testes. Mas
a parte de codificação é onde o conceito de ‘fábrica’ está mais maduro. Na minha
opinião, o que faz mais sentido é associar o termo fábrica a projetos ou códigos
– esclarece Guilherme.

Contínua e pontual

Para o Diretor
da Fábrica de Software da Stefanini, Francisco Silvia, o conceito de fábrica de
software abrange mais do que a codificação. Segundo ele, o que identifica uma
fábrica é um conjunto de processos e métodos bem desenvolvidos, levando a maior
maturidade e produtividade e tornando o processo mais independente do fator
humano. A Stefanini divide as fábricas de software em dois tipos: a fábrica
pontual e a contínua.

“Quando um cliente, como um banco, demanda muito
serviço de fábrica de software, nós criamos uma fábrica de software contínua
para desenvolver só para esse cliente. Existe um conhecimento maior dos negócios
do cliente, e com isso a produtividade para ele acaba aumentando. Já nas
fábricas pontuais, nós podemos trabalhar apenas uma vez com uma empresa e não
ter nenhum envolvimento com a parte de negócios. Esse tipo de fábrica é mais
independente – explica Francisco.

A relação com as consultorias

Tanto BRQ como Stefanini são consultorias de TI. Qual é a relação entre
estes dois serviços? Segundo Francisco, a fábrica de softwares está sob o
“guarda-chuva” da consultoria: a primeira trata de apenas algumas etapas da
área, enquanto a segunda abrange desde planejamento estratégico até analise de
processos. “Os consultores levam as melhores práticas ao cliente, e uma dessas
práticas pode ser o uso da fábrica de software – diz.

Guilherme
acrescenta que, algumas vezes, o trabalho da consultoria de TI é necessário
antes que o cliente contrate a fábrica de software. “É preciso que o contratante
tenha um certo nível de maturidade, saiba escrever seus requerimentos
corretamente. Não é qualquer cliente que contrata a fábrica. Para empresas muito
imaturas, nós preferimos vender primeiro o serviço de consultoria, para ajudar a
definir melhor os objetivos e os detalhes e também para ‘falar a mesma língua’
da fábrica – justifica.

O que não é fábrica?

Para o
Coordenador de Pós-Graduação de Gestão de Qualidade de Software do Senac-SP,
Ivanir Costa, a confusão na hora de definir o que é ou não é fábrica de software
vem de uma estratégia de marketing.

“O termo está na moda. No Brasil não
há uma separação muito certa do que é ou não é fábrica, qualquer software
house
que faça algo em TI usa essa nomenclatura. Teoricamente, a fábrica
deveria entrar numa parte do projeto, participar nessa parte e entregar para o
cliente, sem se preocupar com a integração com outros sistemas, por exemplo. Mas
você vai encontrar no mercado empresas que se denominam fábrica de software e
não são exatamente isso – afirma.

Então, o que não é fábrica de
software? Podemos citar o exemplo do CPqD (Centro de Pesquisa e Desenvolvimento
em Telecomunicações). O Centro possui unidades de produção de software para
consumo interno que não se enquadram no conceito de fábrica, porque não há
especialização.

“Aqui cada equipe de negócios cria seu próprio software
e desenvolve do começo ao fim. Numa fábrica, você tem uma divisão de trabalho:
equipes especializadas para cada parte do desenvolvimento de um software, que
trabalham como numa linha de produção – explicam o Vice-Presidente de
Tecnologia, Cláudio Violato, e o Diretor de Sistemas de Suporte a Operações do
CPqD, Roberto Vivaldi.

A DANRESA Consultoria de Informatica desenvolve sistema intelifgentes para seus clientes utilizando o modelo de fabrica de software com qualidade em todas as fases do projeto.

Qualidade em Desenvolvimento de Sistemas sob Medida

Soluções para empresas que desejam desenvolvimento sob medida.

Para os clientes que desejam terceirizar todo ou parte dos processos de desenvolvimento de sua empresa seja sob a forma de contratos por períodos determinados e/ou renováveis ou por meio de projetos específicos, a DANRESA oferece sua fábrica de software e suas equipes especializadas como força produtiva em desenvolvimento de sistemas e soluções completas de negócios.

A DANRESA desenvolve sistemas inteligentes, que agregam valores ao negócio de cada cliente, integrando, agilizando e customizando processos que se tornam automáticos e muito mais rentáveis.

Todo o ciclo de desenvolvimento é auditado através de processos e metodologias de Quality Assurance e Software Assurance existentes no mercado que permitem a geração de um produto final de qualidade e que atende às expectativas e necessidades de cada empresa.

A DANRESA atua desde a idéia de uma nova solução de informática, percorrendo os caminhos da viabilidade, validando as tecnologias disponíveis no mercado com os custos, prazos e benefícios pretendidos. Analisa os processos e desenvolve toda a solução por meio de equipes de desenvolvimento especializadas e certificadas no mercado de trabalho.

Todos os processos da solução são testados e homologados durante e após o desenvolvimento, garantindo assim a qualidade do produto final, que é validado com os usuários e alinhado as expectativas.

A DANRESA implanta, documenta, efetua treinamentos e assistência pós implantação, garantindo a satisfação de seus clientes, cumprindo com seu compromisso de Consultoria de Informática.

Para solicitar um orçamento para desenvolvimento de sistemas, integração de sistemas, portal comporativo, intranet, BI, sharepoint, etc. Ligue para um Consultor DANRESA através do telefone 55 11 4452-6450 ou envie um e-mail para comercial@danresa.com.br

Para saber mais sobre a DANRESA Consultoria de Informatica acesse o site oficial http://www.danresa.com.br

Para saber mais sobre desenvolvimento de sistemas acesse os links:

Desenvolvimento sob Medida

Projetos e Sistemas

Integração de sistemas com SAP, Microsiga, ERP, CRM, Portais, Intranet, Sistemas Legados, etc

Websites e Sistemas inteligentes

Integração de sistemas para extração de relatórios estratégicos

Portais para colaboração de informações por toda a empresa e gestão de conteúdo empresarial com sharepoint

O caso das fábricas de software

Fonte: http://msdn.microsoft.com/pt-br/library/aa480032.aspx#XSLTsection123121120120

por Jack Greenfield – Microsoft Corporation

Resumo: apresenta brevemente a motivação das fábricas de software, uma metodologia de desenvolvimento da Microsoft. Uma fábrica de software é um ambiente de desenvolvimento configurado para oferecer suporte ao desenvolvimento rápido de um tipo específico de aplicativo. As fábricas de software são apenas um passo à frente, lógico na contínua evolução dos métodos e práticas de desenvolvimento de software. Contudo, elas prometem alterar o caráter da indústria de software pela introdução de padrões de industrialização.

Aumentando a escala do desenvolvimento de software

O desenvolvimento de software, como praticado atualmente, é lento, dispendioso e propenso a erros, gerando muitas vezes produtos com grande número de defeitos e causando sérios problemas de usabilidade, confiabilidade, desempenho, segurança e de outras características do serviço.

Segundo o Standish Group [Sta94], as empresas nos Estados Unidos gastam aproximadamente $ 250 bilhões em desenvolvimento de software a cada ano, em cerca de 175.000 projetos. Apenas 16 por cento desses projetos são concluídos dentro do cronograma e do orçamento. Outros 31 por cento são cancelados, principalmente em função de problemas de qualidade, com perdas em torno de $ 81 bilhões. Outros 53 por cento excedem seus orçamentos em uma média de 189 por cento, com perdas de cerca de $ 59 bilhões. Os projetos que são concluídos têm em média apenas 42 por cento das funcionalidades originalmente planejadas.

Esses números confirmam objetivamente o que já sabemos por experiência, ou seja, que o desenvolvimento de software faz uso intensivo de mão-de-obra, consumindo mais capital humano por valor produzido do que o que se deve esperar de uma indústria moderna.

É claro que, a despeito dessas deficiências, os produtos do desenvolvimento de software fornecem, obviamente, um valor significativo aos clientes, como demonstrado pela tendência, de longo prazo, de aumento da demanda. Isso não quer dizer que os consumidores estejam plenamente satisfeitos, seja com o software fornecido ou com a forma como o fornecemos. Isso significa apenas que eles valorizam o software, tanto que se dispõem a sofrer grandes perdas e a correr riscos para colher os benefícios que o software oferece. Embora essas circunstâncias evidentemente não sejam as ideais, como demonstrado pela crescente popularidade da terceirização, elas não parecem forçar mudanças significativas nos métodos e práticas do desenvolvimento de software como um todo.

Foram obtidos apenas ganhos modestos em produtividade na última década, e talvez os mais importantes tenham sido as linguagens em códigos de bytes, os padrões e os métodos ágeis. Além desses avanços, ainda desenvolvemos software da forma como fazíamos há dez anos. Na verdade, nossos métodos e práticas não mudaram muito, o mesmo acontecendo com os riscos e custos associados.

A situação, no entanto, está para mudar. A demanda global e total de software está projetada para sofrer um aumento de ordem de magnitude na próxima década, acionada por novas forças da economia global, como a emergência da China e o aumento do papel do software na infra-estrutura social, por novos tipos de aplicativos, como integração de empresas e informática médica, e pelas tecnologias de novas plataformas como serviços de Web, dispositivos móveis e aparelhos inteligentes.

Sem aumentos comparáveis de capacidade, parece inevitável que a capacidade de desenvolvimento total de software está destinada a ficar muito abaixo da demanda total ao final da década. É lógico que, se as forças do mercado puderem atuar livremente, isso não acontecerá de fato, uma vez que o interesse dos fornecedores de software garantirá a capacidade necessária à satisfação da demanda.

Enfrentando as mudanças futuras, outra vez

O que vai mudar, então, para que a capacidade adicional seja fornecida? Não é preciso muita análise para ver que os métodos e práticas de desenvolvimento de software terão que mudar radicalmente.

Como a capacidade da indústria depende do tamanho do pool de desenvolvedores competentes e da produtividade dos seus membros, aumentar a capacidade do setor requer mais desenvolvedores utilizando os métodos e as práticas atuais ou um número semelhante de desenvolvedores utilizando métodos e práticas diferentes.

Embora a cultura do aprendizado cultivada nos últimos dez anos pareça ter aumentado com êxito o número de desenvolvedores competentes e a competência média do desenvolvedor, o aprendizado provavelmente não equipará a indústria para satisfazer o nível esperado de demanda, pelo menos por dois motivos:

  • Sabemos por experiência que nunca haverá mais do que uns poucos programadores excepcionais. Os melhores desenvolvedores são até mil vezes mais produtivos do que os piores, mas o número de maus desenvolvedores supera o de bons na mesma proporção [Boe81].
  • Como observado por Brooks [Bro95], adicionar pessoas a um projeto pode, eventualmente, gerar margens de retorno menores. A quantidade de capacidade adquirida através do recrutamento e treinamento de desenvolvedores sofre queda assintótica.

A solução, portanto, deve envolver a modificação dos nossos métodos e práticas. Devemos encontrar formas de tornar os desenvolvedores muito mais produtivos.

As curvas de inovação e as mudanças de paradigma

Coletivamente, como indústria, já estivemos aqui antes. A história do desenvolvimento de software é uma luta contra a complexidade e a mudança, com os ganhos sendo contrabalançados pelas perdas à medida que o progresso gera uma demanda crescente. Embora um grande progresso tenha sido feito em meio século, não foi um progresso uniforme. Ao contrário, seguiu os conhecidos padrões das curvas de inovação, como ilustrado na figura 1 [Chr97].

Aa480032.aj3softfac_fig1(pt-br,MSDN.10).gif
Figura 1. Curvas de inovação

Normalmente, uma inovação descontínua estabelece as bases para uma nova geração de tecnologias. O progresso na nova base é inicialmente rápido, mas depois decresce vagarosamente, à medida que essa base se estabiliza e amadurece. Finalmente, a base perde sua capacidade de sustentar a inovação e é atingido um patamar. Nesse ponto, outra inovação descontínua cria uma nova base para uma outra geração de novas tecnologias, e o padrão se repete. Kuhn chama essas bases de paradigmas, e as transições entre elas de mudanças de paradigma [Kuh70]. As mudanças de paradigma ocorrem em pontos de junção onde a mudança existente é necessária para sustentar o momentum de avanço. Nós estamos agora em um ponto de junção.

Elevando o nível de abstração

Historicamente, as mudanças de paradigma aumentaram o nível de abstração para os desenvolvedores, fornecendo conceitos mais eficazes para captura e reutilização do conhecimento em plataformas e linguagens. No âmbito da plataforma, por exemplo, evoluímos do processamento em lotes, passando pelas plataformas terminal/host, cliente/servidor, computador pessoal, sistemas de vários níveis e integração de aplicativos corporativos até os serviços assíncronos e fracamente acoplados. No âmbito da linguagem, evoluímos da codificação numérica, passando pelas linguagens assembly, estruturadas e orientadas a objeto, até chegarmos a linguagens e padrões codificados em bytes que podem ser vistos como abstrações baseadas em linguagem. Smith e Stotts sintetizam essa progressão de forma eloqüente [SS02]:

A história da programação é um exercício de abstração hierárquica. A cada geração, os designers de linguagens geram construções das lições aprendidas na geração passada, que os arquitetos usam em seguida para criar abstrações ainda mais complexas e de grande eficácia.

Eles destacam também que as novas abstrações tendem a surgir primeiramente nas plataformas, para depois migrar para as linguagens. Estamos em um momento dessa progressão em que as abstrações baseadas em linguagens estão atrasadas em relação às abstrações baseadas em plataforma há muito tempo. Ou, para dizer de outra maneira, estamos em um ponto em que as ferramentas encontram-se atrás das plataformas há muito tempo. Usando a última geração da tecnologia de plataforma, por exemplo, podemos agora automatizar processos abrangendo várias empresas localizadas em qualquer lugar do planeta, usando serviços compostos por orquestração, mas ainda costuramos à mão cada um desses aplicativos, como se fosse o primeiro da sua espécie. Criamos grandes conceitos abstratos, como pedidos de indenização de seguro e acordos de segurança, a partir de conceitos pequenos e concretos, como loops, seqüência de caracteres e números inteiros. Nós organizamos cuidadosa e arduamente milhões de minúsculas peças inter-relacionadas de código-fonte e recursos, para formar estruturas muitíssimo complexas. Se a indústria de semicondutores usasse uma abordagem semelhante, construiria os processadores imensamente complexos que processam esses aplicativos com transistores soldados à mão. Em vez disso, essa indústria monta componentes predefinidos denominados ASICs (Application Specific Integrated Circuits), usando ferramentas como as da figura 2, e depois gera as implementações.

Aa480032.aj3softfac_fig2(pt-br,MSDN.10).gif
Figura 2. Ferramentas de design baseadas em ASIC7

Não podemos automatizar o desenvolvimento de software de forma semelhante? É claro que sim, e na verdade já fizemos isso. Os sistemas de gerenciamento de bancos de dados, por exemplo, automatizam o acesso aos dados usando o SQL, fornecendo benefícios como independência e integração de dados, o que torna os aplicativos voltados a dados mais fáceis de criar e manter. Da mesma forma, os editores WYSIWYG (What You See Is What You Get , O formato exibido é o resultado final) e de metaestruturas facilitam a criação e manutenção de interfaces gráficas de usuário, oferecendo benefícios como independência de dispositivos e montagem visual. Observando atentamente a maneira como isso foi feito, podemos ver um padrão recorrente.

  • Depois de desenvolver uma série de sistemas em um determinado domínio de problema, identificamos um conjunto de abstrações reutilizáveis nesse domínio, e então documentamos um conjunto de padrões de uso dessas abstrações.
  • Em seguida, desenvolvemos um runtime, como uma estrutura ou servidor, para codificar as abstrações e padrões. Isso nos leva a criar sistemas no domínio, por meio de instanciação, adaptação, configuração e montagem de componentes definidos pelo runtime.
  • Nós então definimos a linguagem e criamos ferramentas para oferecer suporte a essa linguagem, tais como editores, compiladores e depuradores, para automatizar o processo de montagem. Isso nos ajuda a responder de forma mais rápida às necessidades de mudanças, uma vez que parte da implementação é gerada e pode ser modificada com facilidade.

Trata-se do conhecido padrão de estrutura de linguagem descrito por Roberts e Johnson [RJ96]. Uma estrutura pode reduzir o custo de desenvolvimento de um aplicativo em uma ordem de grandeza, mas utilizá-la pode ser difícil. A estrutura define um produto arquetípico, como um aplicativo ou subsistema, que pode ser finalizado ou especializado de diversas maneiras para atender a variações de necessidades. Mapear as necessidades de cada variante de produto em uma estrutura não é um problema simples e requer geralmente a habilidade de um arquiteto ou desenvolvedor sênior. As ferramentas baseadas em linguagem podem automatizar essa etapa pela captura de variedades de requisitos usando expressões de linguagens e gerando código de conclusão da estrutura.

Industrializando o desenvolvimento de software

Outras indústrias aumentaram sua capacidade passando do artesanato, onde produtos inteiros são criados desde o início por indivíduos ou pequenas equipes, para a fabricação, onde uma larga gama de produtos é montada rapidamente com componentes reutilizáveis, criados por diversos fornecedores e onde as máquinas automatizam as repetições ou as tarefas subalternas. Elas padronizaram processos, projetos e embalagem, usando de linhas de produtos que facilitam a reutilização sistemática e cadeias logísticas que distribuem o custo e o risco. Algumas são, hoje, capazes de uma personalização em massa, onde as variantes do produto são criadas de forma rápida e não dispendiosa, de acordo com o pedido, para atender às necessidades específicas de clientes individuais.

O software pode ser industrializado?

As analogias entre o software e os produtos físicos já foram ardentemente discutidas. Esses padrões de industrialização podem ser aplicados à indústria do software? Seríamos nós de alguma forma especiais ou diferentes dos outros setores em função da natureza do nosso produto? Peter Wegner sintetiza semelhanças e dessemelhanças da seguinte forma [Weg78]:

Os produtos de software são, em alguns aspectos, como os produtos tangíveis das disciplinas convencionais da engenharia, como pontes, prédios e computadores. Mas existem também algumas diferenças importantes que dão ao desenvolvimento de software um sabor único. Como o software é lógico e não físico, seus custos estão concentrados no desenvolvimento e não na produção e como o software não se desgasta, sua confiabilidade depende das qualidades lógicas, como precisão e solidez, em lugar de qualidades físicas como dureza e maleabilidade.

Algumas discussões envolveram uma comparação do tipo “laranjas e maçãs” entre a produção de bens físicos, de um lado, e o desenvolvimento de software do outro. A chave para esclarecer a confusão é compreender as diferenças entre a produção e o desenvolvimento e entre economias de escala e escopo.

Para fornecer retorno de investimento, os componentes reutilizáveis devem ser reutilizados o bastante para mais do que recuperar o custo de seu desenvolvimento, tanto diretamente, através da redução de custo, quanto indiretamente, através da redução dos riscos, da diminuição do tempo para colocação no mercado ou do aprimoramento da qualidade. Os componentes reutilizáveis são ativos financeiros do ponto de vista do investimento. Como os custos da criação de um componente reutilizável são geralmente bastante altos, é improvável que os níveis de lucratividade da reutilização sejam alcançados por acaso. Uma abordagem sistemática de reutilização torna-se então necessária. Isso geralmente envolve a identificação de um domínio no qual diversos sistemas serão desenvolvidos, a identificação de problemas recorrentes nesse domínio, o desenvolvimento de conjuntos de bens de produção integrados que resolvam esses problemas e, em seguida, sua aplicação à medida que sistemas forem desenvolvidos no domínio.

Economias de escala e escopo

A reutilização sistemática pode gerar economias de escala e escopo. Esses dois efeitos são bastante conhecidos em outras indústrias. Embora ambos reduzam tempo e custo, e aprimorem a qualidade do produto pela produção coletiva e não individual de diversos produtos, diferem na forma como produzem esses benefícios.

As economias de escala surgem quando várias instâncias idênticas de um único projeto são produzidas coletivamente, e não individualmente, como ilustrado na figura 3. Essas economias surgem da produção de itens como parafusos, quando os bens de produção, como as máquinas, são usados para produzir várias instâncias idênticas do produto. Um projeto é criado, juntamente com as instâncias iniciais, chamadas protótipos, por um processo de uso intensivo de recursos, chamado desenvolvimento, que é realizado por engenheiros. Diversas instâncias adicionais, chamadas cópias, são então produzidas por um outro processo, chamado produção, realizado por máquinas e/ou por mão-de-obra de baixo custo, para atender a uma demanda de mercado.

Aa480032.aj3softfac_fig3(pt-br,MSDN.10).gif
Figura 3. Economias de escala

As economias de escopo surgem quando diversos projetos e protótipos semelhantes, porém distintos, são produzidos coletivamente, em vez de individualmente, como ilustrado na figura 4. Na fabricação de automóveis, por exemplo, diversos projetos semelhantes, mas distintos, de automóveis são freqüentemente desenvolvidos pela composição de projetos existentes de subcomponentes, como chassi, corpo, interior e sistema de direção, e as variações e modelos são muitas vezes criados pela diversificação de características, como motor e nível de acabamento, em projetos já existentes. Em outras palavras, as mesmas práticas, processos, ferramentas e materiais são usados para criar diversos projetos e protótipos de produtos semelhantes, porém distintos. O mesmo acontece na construção civil, onde várias pontes e arranha-céus raramente partilham um projeto comum. No entanto, um ponto interessante da construção civil é que, em geral, apenas uma ou duas instâncias de um projeto bem-sucedido são produzidas, então as economias de escala são raras ou não existem. Na fabricação de automóveis, onde diversas instâncias idênticas de projetos bem-sucedidos são normalmente produzidas, as economias de escopo são complementadas pelas economias de escala, como ilustrado pelas cópias de cada protótipo mostrado na figura 4.

Aa480032.aj3softfac_fig4(pt-br,MSDN.10).gif
Figura 4. Economias de escopo

É lógico que existem diferenças significativas entre a criação de software, a indústria automobilística e a construção civil, mas a criação de software se parece algumas vezes com uma e com outra.

  • Em mercados como o consumidor de desktop, onde as cópias de produtos como sistemas operacionais e aplicativos de produtividade são produzidas em massa, o software apresenta economias de escala como na indústria automobiística.
  • Em mercados como o corporativo, onde os aplicativos comerciais desenvolvidos para se obter uma vantagem competitiva são raramente produzidos em massa, se é que isso ocorre, o software apresenta apenas economias de escopo como acontece na construção civil.

Podemos então ver onde maçãs estão sendo comparadas com laranjas. A produção nas indústrias físicas foi ingenuamente comparada ao desenvolvimento de software. Não faz sentido procurar economias de escala no desenvolvimento de nenhuma espécie, seja de software, seja de bens físicos. Nós podemos, por outro lado, esperar que a industrialização do desenvolvimento de software explore economias de escopo.

Com o que se parecerá a industrialização?

Presumindo-se que a industrialização possa ocorrer na indústria de software, com o que ela se parecerá? Não podemos saber com certeza até que isso ocorra, é claro. Podemos, no entanto, fazer suposições embasadas, levando em conta a indústria do software tomou e na forma como a industrialização ocorreu em outros setores. É claro que o desenvolvimento de software nunca será reduzido a um processo puramente mecânico atendido por operários. Ao contrário, a chave para atender à demanda global é parar de gastar o tempo de desenvolvedores preparados com tarefas repetitivas e subalternas. É preciso encontrar maneiras de fazer um uso mais adequado dos recursos preciosos do que gastá-los na criação manual de produtos finais que necessitarão de manutenção ou mesmo de substituição em apenas uns poucos meses ou anos, quando ocorrer o lançamento da próxima plataforma principal, ou quando alterações nas condições do mercado gerarem mudanças das necessidades comerciais, o que ocorrer primeiro.

Uma forma de fazer isso é proporcionar aos desenvolvedores formas de encapsular o seu conhecimento como bens reutilizáveis que outros possam usar. Seria isso muito ambicioso? Os padrões já demonstram uma reutilização de conhecimento limitado mas efetivo. A próxima etapa é passar da documentação para a automação, usando linguagens, estruturas e ferramentas para automatizar a aplicação do padrão.

O desenvolvimento do semicondutor oferece uma antevisão de como será o desenvolvimento de software quando ocorrer a industrialização. Isso não equivale a dizer que os componentes de software serão em breve tão fáceis de montar como os ASICs. Os ASICs são produtos altamente evoluídos de duas décadas de inovação e padronização da tecnologia da interface e empacotamento. Por outro lado, isso pode levar menos de 20 anos. Temos a vantagem de lidar apenas com bits, enquanto a indústria dos semicondutores sofreu a carga adicional de realizar a engenharia dos materiais físicos utilizados na implementação de componentes. Ao mesmo tempo, a natureza efêmera dos bits cria desafios como a proteção dos direitos da propriedade digital, como nas indústrias da música e do cinema.

Referências

1. [Boe81] B Boehm. Software Engineering Economics. Prentice Hall PTR, 1981
2. [Bro95] F Brooks. The Mythical Man-Month. Addison-Wesley, 1995
3. [Chr97] C Christensen. The Innovator’s Dilemma, Harvard Business School Press, 1997
4. [Kuh70] T Kuhn. The Structure Of Scientific Revolutions. The University Of Chicago Press, 1970
5. [RJ96] D Roberts and R. Johnson. Evolving Frameworks: A Pattern Language for Developing Object-Oriented Frameworks. Proceedings of Pattern Languages of Programs, Allerton Park, Illinois, September 1996
6. [SS02] J. Smith and D Stotts. Elemental Design Patterns – A Link Between Architecture and Object Semantics. Proceedings of OOPSLA 2002
7. A ilustração contendo o Virtuoso® Chip Editor e o Virtuoso® XL Layout Editor foi reproduzida com a autorização de Cadence Design Systems, Inc. © 2003. Cadence Design Systems, Inc. Todos os direitos reservados. Cadence e Virtuoso são marcas registradas de Cadence Design Systems, Inc.
8. [Sta94] The Standish Group. The Chaos Report.http://www.standishgroup.com/sample_research/PDFpages/chaos1994.pdf
9. [Weg78] P Wegner. Research Directions In Software Technology. Proceedings Of The 3rd International Conference On Software Engineering. 1978

 

A DANRESA Consultoria de Informatica desenvolve sistema intelifgentes para seus clientes utilizando o modelo de fabrica de software com qualidade em todas as fases do projeto.

Qualidade em Desenvolvimento de Sistemas sob Medida

Soluções para empresas que desejam desenvolvimento sob medida.

Para os clientes que desejam terceirizar todo ou parte dos processos de desenvolvimento de sua empresa seja sob a forma de contratos por períodos determinados e/ou renováveis ou por meio de projetos específicos, a DANRESA oferece sua fábrica de software e suas equipes especializadas como força produtiva em desenvolvimento de sistemas e soluções completas de negócios.

A DANRESA desenvolve sistemas inteligentes, que agregam valores ao negócio de cada cliente, integrando, agilizando e customizando processos que se tornam automáticos e muito mais rentáveis.

Todo o ciclo de desenvolvimento é auditado através de processos e metodologias de Quality Assurance e Software Assurance existentes no mercado que permitem a geração de um produto final de qualidade e que atende às expectativas e necessidades de cada empresa.

A DANRESA atua desde a idéia de uma nova solução de informática, percorrendo os caminhos da viabilidade, validando as tecnologias disponíveis no mercado com os custos, prazos e benefícios pretendidos. Analisa os processos e desenvolve toda a solução por meio de equipes de desenvolvimento especializadas e certificadas no mercado de trabalho.

Todos os processos da solução são testados e homologados durante e após o desenvolvimento, garantindo assim a qualidade do produto final, que é validado com os usuários e alinhado as expectativas.

A DANRESA implanta, documenta, efetua treinamentos e assistência pós implantação, garantindo a satisfação de seus clientes, cumprindo com seu compromisso de Consultoria de Informática.

Para solicitar um orçamento para desenvolvimento de sistemas, integração de sistemas, portal comporativo, intranet, BI, sharepoint, etc. Ligue para um Consultor DANRESA através do telefone 55 11 4452-6450 ou envie um e-mail para comercial@danresa.com.br

Para saber mais sobre a DANRESA Consultoria de Informatica acesse o site oficial http://www.danresa.com.br

Para saber mais sobre desenvolvimento de sistemas acesse os links:

Desenvolvimento sob Medida

Projetos e Sistemas

Integração de sistemas com SAP, Microsiga, ERP, CRM, Portais, Intranet, Sistemas Legados, etc

Websites e Sistemas inteligentes

Integração de sistemas para extração de relatórios estratégicos

Portais para colaboração de informações por toda a empresa e gestão de conteúdo empresarial com sharepoint

Como funciona uma fabrica de software?

Fonte: http://www.efagundes.com/artigos/Como%20funciona%20uma%20fabrica%20de%20software.htm

Uma fábrica de software executa processos para a construção de um produto.

Quanto maior o volume de produção menor é o custo do produto. Henry Ford que desenvolveu o processo de produção em massa demonstrou a eficiência da especialização de funções e o uso de processos padronizados. Uma fábrica de software utiliza os mesmos conceitos de uma fábrica modelo. A função de uma fábrica de software é maximizar a produção de software. A programação orientada a objetos e por componentes permite criar objetos reutilizáveis que podem ser usados em diferentes programas, reduzindo os custos de programação. Quanto maior o número de objetos disponíveis, menor será o tempo e o custo do desenvolvimento de sistemas. A fábrica de software deve ter uma estrutura com: atendimento à clientes; planejamento e controle de produção; produção; garantia e qualidade.

Os sistemas de aplicação devem atender as necessidades de negócios das empresas que são diferentes uma das outras devido a práticas e ramo de atuação. Porém a construção de produtos singular possui custos mais elevados de produção que podem tirar a competitividade das empresas. O tempo de desenvolvimento pode não atender as necessidades de mercado, não sendo raras as vezes que um sistema é liberado e as necessidades de mercado já foram alteradas. Em certos casos para atender os tempos requeridos pelo mercado a qualidade dos sistemas é reduzida, através da redução dos testes dos sistemas. Uma fábrica de software tem o objetivo de resolver alguns desses problemas.

Apesar das empresas possuírem necessidades diferentes muitos processos são similares. Uma fábrica que tenha um “estoque” de objetos que possam ser “montados” de acordo com as especificações de um pedido é mais rápido de ser construído. Como cada objeto já foi exaustivamente testado o produto final apresenta uma melhor qualidade. Conseqüentemente, o custo do produto final é reduzido e atendendo às necessidades de mercado do produto o tempo certo.

O gerenciamento de recursos humanos e dos objetos disponíveis é fundamental para o sucesso de uma fábrica de software. Como uma fábrica-modelo existem áreas especializadas em processos. Como a fábrica recebe pedidos de diferentes fontes (departamentos internos ou de clientes externos) o gerenciamento dos recursos é importante para atender os prazos compromissados. Para maximizar os recursos uma clara visão dos objetos desenvolvidos deve estar disponível para todos os programadores, evitando o desenvolvimento de objetos já criados e testados.

Basicamente a estrutura de uma fábrica de software deve possuir: uma área de atendimento a clientes que negocia e especifica as necessidades da área usuária; uma área de planejamento e controle da produção que faz a alocação dos recursos; estabelece os prazos de desenvolvimento e a definição dos objetos a serem utilizados ou desenvolvidos; uma área de produção que faz a montagem da aplicação; uma área de qualidade e garantia que verifica se o produto final atende as especificações exigidas; e, uma área de suporte que mantém e desenvolve as tecnologias para a fábrica de software.

A DANRESA Consultoria de Informatica desenvolve sistema intelifgentes para seus clientes utilizando o modelo de fabrica de software com qualidade em todas as fases do projeto.

Qualidade em Desenvolvimento de Sistemas sob Medida

Soluções para empresas que desejam desenvolvimento sob medida.

Para os clientes que desejam terceirizar todo ou parte dos processos de desenvolvimento de sua empresa seja sob a forma de contratos por períodos determinados e/ou renováveis ou por meio de projetos específicos, a DANRESA oferece sua fábrica de software e suas equipes especializadas como força produtiva em desenvolvimento de sistemas e soluções completas de negócios.

A DANRESA desenvolve sistemas inteligentes, que agregam valores ao negócio de cada cliente, integrando, agilizando e customizando processos que se tornam automáticos e muito mais rentáveis.

Todo o ciclo de desenvolvimento é auditado através de processos e metodologias de Quality Assurance e Software Assurance existentes no mercado que permitem a geração de um produto final de qualidade e que atende às expectativas e necessidades de cada empresa.

A DANRESA atua desde a idéia de uma nova solução de informática, percorrendo os caminhos da viabilidade, validando as tecnologias disponíveis no mercado com os custos, prazos e benefícios pretendidos. Analisa os processos e desenvolve toda a solução por meio de equipes de desenvolvimento especializadas e certificadas no mercado de trabalho.

Todos os processos da solução são testados e homologados durante e após o desenvolvimento, garantindo assim a qualidade do produto final, que é validado com os usuários e alinhado as expectativas.

A DANRESA implanta, documenta, efetua treinamentos e assistência pós implantação, garantindo a satisfação de seus clientes, cumprindo com seu compromisso de Consultoria de Informática.

Para solicitar um orçamento para desenvolvimento de sistemas, integração de sistemas, portal comporativo, intranet, BI, sharepoint, etc. Ligue para um Consultor DANRESA através do telefone 55 11 4452-6450 ou envie um e-mail para comercial@danresa.com.br

Para saber mais sobre a DANRESA Consultoria de Informatica acesse o site oficial http://www.danresa.com.br

Para saber mais sobre desenvolvimento de sistemas acesse os links:

Desenvolvimento sob Medida

Projetos e Sistemas

Integração de sistemas com SAP, Microsiga, ERP, CRM, Portais, Intranet, Sistemas Legados, etc

Websites e Sistemas inteligentes

Integração de sistemas para extração de relatórios estratégicos

Portais para colaboração de informações por toda a empresa e gestão de conteúdo empresarial com sharepoint

 

 

Fábrica de Software: Rentabilidade Garantida

Fonte: http://www.ogerente.com.br/novo/colunas_ler.php?canal=20&canallocal=61&canalsub2=207&id=2474

Caro leitor, imagine que você é o responsável por um projeto dentro de sua corporação, você é cobrado por rentabilidade e depende de qualidade e redução de custos, pois seu planejamento não prevê um “escorregão” no projeto e você está vendo que poderá ter uma mudança de escopo considerável em uma das frentes do mesmo, mas o valor orçado não pode ser modificado e você terá que fazer mágica para que esse projeto entre no ar.

Que tal procurar uma forma remota de trabalho? Que tal trazer para si uma equipe de profissionais atuando na sua demanda com metodologia de atuação, com custo reduzido e qualidade.

Mas temos que tomar certo cuidado na atuação em fábrica de software, temos que imaginar que não temos o recurso ao nosso lado para desenvolver a aplicação sobre demanda, então não existe metodologia que se adéqüe a uma indefinição.

Uma atuação em modelo de fábrica de software depende exclusivamente de uma definição do que se quer e uma especificação bem detalhada, pois os recursos que atuarão no desenvolvimento serão executores da demanda, não tem uma criticidade de conhecimento funcional e nem a proximidade do Key-user (Usuário responsável pela aplicação) para trocas de informações e alterações durante o desenvolvimento do software.

Hoje existe a possibilidade de desenvolver projetos inteiros remoto, com qualidade e custo menor, mas a dependência do cliente final e o comprometimento do mesmo para a finalização do projeto é de suma importância, ou seja, o cliente é o responsável pela execução, pensando friamente em fábrica, indústria, a fábrica de software é somente a máquina que irá executar tal tarefa, caso ela esteja mal configurada, esta não executará um trabalho ideal.

As metodologias usadas em desenvolvimentos de sistemas devem ser estruturadas com melhores práticas de mercado para desenvolvimento e documentação criando KPI para indicações de retrabalhos, qualidade, entendimento durante todas as fases de desenvolvimento.

Existem diversos benefícios para o cliente quando este usa desenvolvimento em ambiente remoto, dentre eles, o prazo e custo já são definidos, o que garante um planejamento eficaz, outro beneficio é que contratando uma fábrica de software você garante o trabalho continuo não dependendo de um recurso único de trabalho.

Como estamos falando de fabrica de software, dependemos de uma estrutura organizacional firme e funcional mínima conforme descrevo abaixo.

Gerente de Fábrica de Software: Profissional responsável por gerenciar os recursos, definir os pontos focais de demandas ou clientes, controlar, planejar e administrar os projetos executados com a fábrica de software e efetuar um relacionamento direto com o cliente.

Analistas desenvolvedores: Esses profissionais fazem parte do pool de desenvolvimento e são responsáveis pelo desenvolvimento da demanda apresentada, bem como a elaboração de uma documentação mais técnica da mesma que será enviada para os desenvolvedores finais.

Desenvolvedores: Profissional responsável pelo desenvolvimento da demanda.

Célula de QA: Equipe mais sênior responsável pelo Quality Assurance da demanda, onde é realizado testes e ajustes de performance ou rejeição do desenvolvimento.

Dentre os benefícios de se utilizar uma fábrica de software estão a garantia de entrega, processos automatizados, gestão da demanda por um SGD, instalações fora da estrutura da sua corporação, o que reduz o custo, profissionais qualificados e experientes em uma estrutura barata por otimização de recursos, garantia de documentação, entre outros.

O funcionamento padrão de uma fábrica de software é baseado nos passos a seguir:

1) Especificação:

A Especificação é realizada por um analista funcional que demonstrará o que deverá ser desenvolvido, nesta fase é realizado o levantamento da necessidade, e documentado o requisito do software.

2) Metricas:

Nesta fase, baseado na especificação o Analista desenvolvedor analisa a documentação de requisitos, aplica métricas e define o prazo para o desenvolvimento/documentação e QA.

Esse prazo é passado para o cliente aprovar o início da execução e após aprovado será passado para a fase de desenvolvimento.

3) Desenvolvimento:

Esta fase é a execução do requisito, passa pelo pool de desenvolvimento, onde é desenvolvido, documentado e testado.

4) Qualidade:

Após o desenvolvimento, o produto é passado por um período de stress test com uma equipe que não participou do desenvolvimento, esta equipe está capacitada para efetuar ajustes ou recusar o desenvolvimento antes que este seja repassado para o cliente final.

5) Acompanhamento:

O software desenvolvido é acompanhado pela equipe de fábrica realizando ajustes durante o prazo de maturidade do mesmo.

A utilização de fábrica de softwares será cada vez mais utilizada por grandes empresas que necessitem de suporte em seus sistemas, desenvolvimento de novas aplicações, bem como uma equipe que entenda cada vez mais de seu ambiente, não dependendo somente de um ou outro recurso.

A DANRESA Consultoria de Informatica possui uma fábrica de software especializada em diversas tecnologias de mercado, oferecendo a seus clientes serviços como Desenvolvimento de Sistemas Sob Medida onde os clientes que desejam terceirizar todo ou parte dos processos de desenvolvimento de sua empresa seja sob a forma de contratos por períodos determinados e/ou renováveis ou por meio de projetos específicos, a DANRESA oferece sua fábrica de software e suas equipes especializadas como força produtiva em desenvolvimento de sistemas e soluções completas de negócios.

A DANRESA Consultoria de Informatica desenvolve sistemas inteligentes, que agregam valores ao negócio de cada cliente, integrando, agilizando e customizando processos que se tornam automáticos e muito mais rentáveis.

Todo o ciclo de desenvolvimento é auditado através de processos e metodologias de Quality Assurance e Software Assurance existentes no mercado que permitem a geração de um produto final de qualidade e que atende às expectativas e necessidades de cada empresa.

A DANRESA atua desde a idéia de uma nova solução de informática, percorrendo os caminhos da viabilidade, validando as tecnologias disponíveis no mercado com os custos, prazos e benefícios pretendidos. Analisa os processos e desenvolve toda a solução por meio de equipes de desenvolvimento especializadas e certificadas no mercado de trabalho.

Todos os processos da solução são testados e homologados durante e após o desenvolvimento, garantindo assim a qualidade do produto final, que é validado com os usuários e alinhado as expectativas.

A DANRESA implanta, documenta, efetua treinamentos e assistência pós implantação, garantindo a satisfação de seus clientes, cumprindo com seu compromisso de Consultoria de Informática.

Para saber mais sobre como a DANRESA Consultoria de Informatica pode ajudar a sua empresa como Fábrica de Software ligue para um Consultor DANRESA através do telefone 55 11 4452-6450 ou envie um e-mail para comercial@danresa.com.br

Para empresas que desejam executar projetos de sistemas a DANRESA oferece os serviços de Gerenciamento e execução de projetos de TI utilizando metodologias de Projetos e             Sistemas conceitudas como PMI, RUP, MSF, MSF for Agile, MSF for CMMI, de acordo com o perfil do projeto e necessidades do cliente.

A DANRESA participa ativamente no gerenciamento e execução de projetos de sistemas utilizando metodologias de projetos e de sistemas de acordo com as necessidades de cada projeto e de cada cliente, atendendo de forma consistente ao envio de RFIs e RFPs por meio de orçamentos detalhados e pilotos funcionais.

Segue abaixo alguns tipos de projetos que a DANRESA têm participado com excelência em seus clientes:

– Sistemas Sob Medida de Acordo com as Regras de Negócios, especificadas em RFIs e RFPs enviadas pelos Clientes

– Portais Corporativos

– Lojas Virtuais

– Web Sites Inteligentes

– Sites Vendedores

– Sistemas Desktop

– Sistemas Integrados

– Web Services

– Windows Services

– Information Worker Solutions

– Sistemas para Colaboração e Comunicações Unificadas

– Sistemas para Geração de Relatórios Estratégicos com DASH BOARDS, Grids e Gráficos Dinâmicos

Para saber mais sobre as metodologias de gerenciamentos de projetos utilizadas pela DANRESA Consultoria de Informática acesse http://www.danresa.com.br/Paginas/Servicos/Sistemas/Metodologias/MSFForCMMI/frmMSFforCMMI.aspx

Para saber sobre desenvolvimento de sistema sob medida acesse http://www.danresa.com.br/Paginas/Servicos/Sistemas/frmDesenvolvimentoSistemas.aspx

Para saber mais sobre a DANRESA Consultoria de Informatica acesse o site oficial em http://www.danresa.com.br

Ligue para 55 11 4452-6450 ou envie um e-mail para comercial@danresa.com.br e saiba como a DANRESA Consultoria de Informatica pode ajudar a sua empresa e evoluir com a tecnologia da informação ( TI ).

Setting up BCS with Secure Store Application impersonation

Fonte: http://blogs.msdn.com/b/sridhara/archive/2010/01/27/setting-up-bcs-with-secure-store-application-impersonation.aspx

 

 

We used to perform SSO impersonation in BDC in MOSS 2007.  We now have a secure store service application that allows us to specify types of target applications to use for impersonating specific services including BCS.  Here’s a walk-through I wrote for one of my customer to setup secure store application for impersonating BCS calls.

1. Start the Secure Store Service by navigating to Central Administration site > Manage Service on Server.

clip_image001

2. Provision the Secure Store Service Application by navigating to Central Administration > Manage Service Application > New (drop-down from the ribbon) > Secure Store Service. Provide a name for this service application, choose a database and choose an application pool or create a new one.

clip_image002

3. The secure store service application and proxy should now be created.

clip_image003

4. Click on the secure store service application created to configure it. The first time you do this, a message will be displayed that asks you to configure the secure store application as shown below.

clip_image004

5. Click Generate New key from the ribbon option.

6. Provide the pass phrase in the dialog that pops up.

clip_image005

7. Now the secure store application is configure. We need to create a secure store application that will help in impersonating. To do this, click New from the ribbon in the secure store application as shown below.

clip_image006

8. Provide the needed values for the target application settings. Ensure that the target application type is “Group”. This is because we should be able to assign members who’s account will be impersonated by another account we specify.

clip_image007

9. Add additional fields in the next page if needed. Otherwise, just use the default Windows username and password fields that is provided by default.

clip_image008

10. Set the administrators for this target application in the next page. Also setup some members for this target application. In my case, I setup 1 local user “user1” as a member of this target application. We’ll touch base on what this is later in this walk-through.

clip_image009

11. The target application once created should look like below.

clip_image010

12. After this, use the ECB menu against the target application to set the application impersonation credentials.

clip_image011

13. Provide a credential owner, the windows username and password(s) that should be used for impersonation by this secure store application target.

clip_image012

14. Hit OK when done.

15. Now, when creating an application model for BCS we can select this target application to be used for impersonation. Typically, we provide the target application name BCS at the time of creating a connection to the backend. There might be a prompt to confirm the windows credential when you hit OK in the below screen.

clip_image013

16. Once you created your BCS model file and saved it to the site’s external content type store, you can download the application model file to take a look at the definitions of entities and the various methods.

clip_image014

17. Here’s how the LOBi system instance settings look like.

clip_image015

18. As you can see the target application we created in our Secure Store Application is used as the SSO application ID for this LOBi instance.

19. Now, we can create an external list in our SharePoint 2010 site and point it to the customer external content type we created.

clip_image016

20. I have another local user created in my site called “user1” that has contributor rights on this site. If I visit this external list as this user, I should still be able to see the data if the impersonation by secure store application is at work. That’s a fair expectation, but before seeing that in action we need to add this user as a member of our BCS application first. This is because BCS/BDC will first check permissions for metadata objects using the incoming user account first, then do the SSO impersonation and then go to the back-end as the SSO-impersonated user to pull the data. The key thing to remember to not get confused here is that the impersonation we do is for the BDC application to talk to the back-end data store. However, users that need to access the external list need to have appropriate permissions on the external content type objects.

21. To set permissions on BDC objects for a user account, navigate to Central Administration site > Manage service applications > select the BCS service application you created > Set Permissions on the ECB menu option of the external content type as show below.

clip_image017

22. Or set object permissions from the ribbon both should do. For my case, I setup “user1” with Edit, Execute permissions on the customers external content type object as shown below.

clip_image018

23. Once “user1” is setup with appropriate permissions on the BDC objects, we are good to go and see SSO impersonation in action. Now, if I login to the site as user1 and browse to this external list, I should be able to see the data.

clip_image019

Hope this was useful and helps in understanding the secure store and BCS layers to some extent.

BCS Connectivity Errors

Fonte: http://www.chakkaradeep.com/post/Part-2-BCS-Connectivity-Errors.aspx

Now that you have configured BCS, you can create external content types and external lists. You can refer to my blog post – SharPoint 2010: BCS Walkthrough – to quickly learn how to create an external content type and an external list.

 

BDC Access Denied Error

Now that your external list is created, you will certainly like to view the list in SharePoint. When you visit the external list, don’t be surprised if you see the error below:

 

bdc_accessdenied_error

 

This is a very common error that many of you might face. This error is due to the current user not having enough permissions to access the BDC entity.

So, browse to your BDC Service Application page: Central Administration | Application Management | Manage service applications | Business Data Connectivity

You should be able to locate your BDC model. For our example, its the External Customers. In the dropdown ECB menu, select on Set Permissions:

 

bdc_entity_set_permissions

 

In the Set Permissions dialog window, you can now choose your user(s)/group(s) who need access to this BDC entity. For our example, I am choosing Administrator user.

 

bdc_set_object_permissions

 

You can also set the type of permission you want to grant. For our example, I have granted all of the permissions available:

1) Edit

2) Execute

3) Selectable In Clients

4) Set Permissions

Query against the database error

Now if you refresh your external list page, you might get this error or similar error:

 

bdc_query_against_db_error

 

bdc_lob_connection_error

 

This means that the user has access to the BDC entity, but there is something wrong when the model is trying to fetch the external data. In this case, it is from the database. Our External Customers entity model connects to SQL Server database to retrieve the customers. So, this error clearly tells that there is some problem while fetching that data.

One other useful thing to do when you get this error is to check the Windows Event Viewer logs. BCS logs errors to Windows Event Viewer logs. Here is the cause for our error:

 

event_log_details

 

It is very clear from the logs that the user Administrator is not having access to the Customers database. So, its an easy fix – After granting the user Administrator rights to Customers database, here we are with all the customers!

 

bcs_list_working