Welcome to MSDN Blogs Sign in | Join | Help

Cache Distribuído

Um blog sobre "Velocity" e coisas da Nuvem, por Osvaldo Daibert
Microsoft Online Services

    1 Olá pessoal. Enquanto não posso falar sobre as novidades do “Velocity” que serão apresentadas semana que vem no PDC 09, vou falar um pouco sobre o Microsoft Online Services que entrou no ar essa semana para Brasil e alguns outros países da America Latina.

Já falei aqui no blog um pouco sobre isso no ano passado (http://blogs.msdn.com/daibert/archive/2008/12/03/microsoft-business-productivity-online-standard-suite.aspx), mas de lá pra cá, muita coisa mudou e melhorou.

O Microsoft Business Productivity Online Standard Suite é um conjunto de soluções de colaboração e mensagens hospedado nos Data Centers da Microsoft pelo mundo.

O pacote inclui:

A Microsoft disponibiliza para o público em geral 30 dias para testar a suite. Você pode fazer seu cadastro e começar a utilizar no endereço: https://www.microsoftonline.com/

Depois de fazer o cadastro, você recebera um endereço para acessar seu Administration Center Online e sua senha de acesso.

2

Após fazer o login, você precisará trocar sua senha e logo depois terá acesso a seu Dashboard de configuração dos seus serviços: (O primeiro acesso é meio demorado mesmo, não se assuste)

3

Bom, vou falar rapidamente sobre a configuração do Exchange Online e logo em seguida, aproveitando a onda de posts que fiz sobre Sharepoint, vou mostrar a criação de um portal no Serviço Sharepoint Online.

 4     Primeiramente deve-se selecionar no painel “Tasks I Need To Do” a opção “Add your domain to Microsoft Online Services”:

5

Você deve configurar seu dominio na tela que se abrirá e selecionar a opção de correio que você deseja utilizar. Não vou falar sobre estas configurações, pelomenos neste post, mas segue aqui um link com um doc da própria Microsoft mostrando como migrar mail boxes de Exchange On Premise para Exchange Online (http://www.microsoft.com/downloads/details.aspx?FamilyID=25350815-5c57-441a-b7fb-329ff5fe14b3&displaylang=en).

6

 

7 Agora vamos criar o portal no Sharepoint Online. No Administration Center selecione a opção “Add a Sharepoint site collection to setup portal”.

8

Preencha os dados do seu portal Online. Note que já existe a opção de Portugues Brasil. Clique em “Create”

9

10

11

Após a criação do portal, você deve aguardar cerca de 15 min para ter acesso a ele.

12

Este é o endereço do portal Online criado: https://daibertmicrosoftonlinecom-1.sharepoint.microsoftonline.com

Depois disso você deve configurar as contas de usuário que terão acesso ao seu portal online.  Primeiramente você deve cadastrar os usuários no BPOS, pois as contas são referentes ao BPOS como um todo e não pra cada serviço.

Para criar os usuários, acesso o Administration Center e clique em “Users –> User List” e no menu a direita clique em “Add new user”.

13

Preencha os dados do usuário que você deseja criar e clique em “Next”.

14

O password inicial é gerado automaticamente. Selecione as configurações do usuário e clique em “Next”.

15

Indique o email da pessoa para que o usuário que a utilizará receba as informações da conta que você criou.

16

Depois de criar o usuário no BPOS você deve associa-lo ao portal Online que você criou. Para fazer isto, você deve proceder normalmente como se estivesse utilizando o Sharepoint On Premise. Clique em “Ações do Site –> Definições do Site –> Pessoas e Grupos”.

17

Selecione o usuário que você criou no BPOS e clique em “OK”.

18

Pronto, o usuário já t erá acesso ao portal do Sharepoint Online.

19

 

Vale resaltar que, tanto o Sharepoint Online quanto o Exchange Online, são baseados nos produtos que estão em versão final hoje (ou no caso do Exchange, até ontem), ou seja: Exchange Online é baseado em Exchange 2007 e Sharepoint Online é baseado em MOSS 2007. Já existe previsão para migração dos serviços Online para a “Onda 14” (Exchange 2010 e Sharepoint 2010), mas não tenho essas infos agora.

Bom pessoal, por enquanto é só.

E não deixem de conferir aqui o blog, pois a partir da semana que vem começarei a postar uma série de posts que eu já escrevi sobre “Velocity” e estou esperando somente o PDC 09 começar para começar a divulgar.

Abraços,

Daibert

SharePoint 2010 training kit está público

Continuando no processo de aprendizado de Sharepoint 2010, segue uma lista de 14 treinamentos obrigatórios para quem quer dominar a plataforma.

Basta fazer o download de training kit no link abaixo.

http://channel9.msdn.com/learn/courses/SharePoint2010Developer/

Este é o conteúdo do treinamento:

Getting Started with SharePoint 2010

· What’s New in SharePoint 2010

· All of the PowerPoint decks used in the training

SharePoint 2010 Developer Roadmap

· What’s New in SharePoint 2010

· Major Shifts in the SharePoint 2010 UI

· Getting Started with SharePoint 2010 Development

· New Developer Tools for SharePoint 2010

· SharePoint 2010 Integration with PowerShell

SharePoint Development with Visual Studio 2010

· VS10 SharePoint 2010 Developer Tools

· The SharePoint Explorer

· The Feature Node & Feature Designer

· The Package None and Packaging Support

· Extensibility for Creating Custom SPIs and Context Menus

SharePoint UI Advancements

· The New SharePoint User Experience

· Branding and Compliancy in SharePoint 2010

· Customizing the User Interface

· InfoPath Forms and SharePoint

Designing Lists and Schemas

· New events for SharePoint sites & lists

· List Relationships and Joins

· Unique Column Constraints

· Managing and Querying Large List Support

· Wide List Governance

· List & List Item Validation

· XSL-Based Views

LINQ to SharePoint

· LINQ Primer

· Lambda Expressions

· Anonymous Types

· LINQ to SharePoint

· The DataContext Object

· Creating Typed Data Classes

Client Object Model

· Motivation for a Client Object Model

· The .NET Client Object Model

· The Silverlight Client Object Model

· Astoria Support

· Silverlight Web Parts

· The JavaScript Client Object Model

SharePoint 2010 Workflow

· Business Process Management

· Workflow Foundation

· What’s New in SharePoint 2010 Workflow

· Designing Workflows with SPD

· Developing Workflows with Visual Studio 10

The SharePoint 2010 Services Architecture

· Changes from MOSS 2007 to SharePoint 2010 Service Model

· Service Model Components

· Service Applications

· Service App Proxies and Service App Groups

· OOTB Service Applications

· Creating Custom Service Applications

External Data in SharePoint (BCS)

· Enterprise Landscape

· Business Connectivity Services

· External Content Types

· Creating Applications

· Publishing Applications

· Visual Studio 2010 support

Enterprise Content Management (ECM)

· Web Content Management (WCM) Improvements

· Enterprise Content Management (ECM)

· Advanced Routing

· Metadata Everywhere

· Asset Library

· Document Sets

· In-Place Records Management

Extending Search

· Search “App Taxonomy”

· The Connector Framework

· Creating a .NET Shim

· The Query Pipeline

· Search Center Enhancements

BI Solutions with Performance Point Server 2010

· What is Business Intelligence

· BI Tools in SharePoint 2010

· Performance Point Services

· Excel Services

Sandboxed Solutions

· Application Hosting and Customization

· Site Collection Solutions

· Developing Sandboxed Solutions

· Administrating the sandboxing infrastructure

SharePoint 2010 and Claims-based Security

· SharePoint 12 Authentication

· ACLs and Securable Objects

· Claims-based Security

Abraços,

Daibert

SharePoint 2010: Developer Platform White Paper

Pessoal, esse documento do David Chapell é leitura obrigatória pra quem trabalha ou pretende trabalhar com Sharepoint 2010 ou arquitetura de portais corporativos. http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=5184cb27-98d9-4cc0-bb0b-4b24d5b62db6

Abraços, Daibert

Leitura recomendada para quem trabalha com Sharepoint

Alguém me mandou um mail com uma lista interessante de referências para Sharepoint 2007 e estou postando aqui.
“Plan for Software Boundaries”
http://technet.microsoft.com/en-us/library/cc262787.aspx
“Data protection and recovery for Office SharePoint Server”
http://technet.microsoft.com/en-us/library/cc262129.aspx
“Physical storage recommendations for Office SharePoint Server”
http://technet.microsoft.com/en-us/library/cc298801.aspx
“Case Study: Using Microsoft Office SharePoint Server to implement a large-scale content storage scenario with rapid search availability”
http://technet.microsoft.com/en-us/library/cc262067.aspx
“White paper: Working with large lists in Office SharePoint Server 2007”
http://technet.microsoft.com/en-us/library/cc262813.aspx
“Additional performance and capacity planning factors”
http://technet.microsoft.com/en-us/library/cc263061.aspx
“Configure High Availability”
http://technet.microsoft.com/en-us/library/dd207313.aspx
“How Microsoft IT Increases Availability and Decreases Rendering Time of SharePoint Sites"
http://download.microsoft.com/download/0/E/B/0EBA7263-A555-4279-B9D...
Abraços,
Daibert

Microsoft Disponibiliza Visual Studio 2010 e .NET Framework 4 Versão Beta 2 Rumo ao Lançamento em 22 de Março

Vou repoduzir aqui um “Press Release” sobre o Visual Studio 2010 pois estou sem tempo para terminar o post que estou escrevendo~.

Abraços,

Daibert

----------------------------------------------

Microsoft Anuncia a “Ultimate Offer”, benefício para empresas que já utilizam o produto

A Microsoft anunciou em 19 de outubro a disponibilidade imediata do Visual Studio 2010 e do .NET Framework 4 Beta 2 para empresas que possuam Assinatura MSDN; a disponibilidade geral através do site do produto ocorrerá em 21 de Outubro. A empresa também esboçou em linhas gerais a nova linha de produtos, bem como os novos benefícios para os assinantes MSDN que incluí a “Ultimate Offer”, disponível para todos os assinantes ativos do MSDN Premium no lançamento oficial do produto em 22 de Março de 2010.

Os clientes podem começar a avaliar desde já as grandes inovações em cada uma das tecnologias e novos produtos nessa onda de lançamentos. “Com o Visual Studio 2010 a Microsoft reforça seu comprometimento em entregar produtos e tecnologias para que as empresas tenham alta produtividade na plataforma .NET e ferramentas para auxiliar em cada uma das etapas do ciclo de desenvolvimento, desde a gestão de demandas , arquitetura, desenvolvimento, testes e manutenção”, diz Carlos Zimmermann, Gerente de Produto, “tudo isso com relatórios gerenciais para o acompanhamento do desenvolvimento, seja ele interno ou terceirizado”, complementa.

As grandes novidades são as ferramentas para arquitetura, testes e colaboração que ajudarão a garantir maior controle no processo de desenvolvimento, código estável e seguro, menos retrabalho e melhor comunicação entre membros da equipe. Ferramentas específicas para testadores criarem plano de testes e executarem suas atividades diárias como testes manuais, automatizados e carga estão presentes nessa nova versão do produto. Uma das grandes novidades é a possibilidade de gerenciar um ambiente virtualizado para testes, isso ajuda a enfrentar o desafio de ‘bugs não reproduzíveis’, onde o testador conseguirá anexar à atividade de correção de um ‘bug’ várias informações do ambiente, e se necessário anexar a máquina virtual para que o desenvolvedor consiga reproduzir o erro rapidamente.

Muitas melhorias foram feitas para facilitar o desenvolvimento para Silverlight, WPF, SharePoint e sem dúvida total suporte para desenvolvimento para Windows 7. A completa integração com a plataforma de aplicação Microsoft continua sendo o grande diferencial, porem grandes novidades como suporte a diagramas UML (engenharia reversa) e SCM e Testes multiplataforma chamam a atenção das empresas que possuem um ambiente heterogêneo.

Com o .NET Framework 4, os desenvolvedores tem opção de um instalador muito menor, com redução de até 81% do tamanho do framework usando o “Client Profile”. Outros benefícios do .NET Framework 4 para desenvolvedores incluem uma nova linguagem DLR (Dynamic Language Runtime), o suporte a “middle-tier applications” para alto desempenho como “parallel programming”, “workflow” e “service-oriented applications”. Existe total compatibilidade com versões anteriores através de instalações simultâneas e paralelas do .NET Framework 3.5 e 4.0.

Com a novidade sem precedentes chamada “Ultimate Offer”, os clientes que possuem o benefício chamado assinatura ‘MSDN Premium’, em contratos ativos, farão a transição para uma versão superior do produto na data do lançamento em março. Isso fornece acesso ao cliente o benefício de usufruir de uma versão mais completa da ferramenta e uma quantidade de novos recursos, incluindo o direito de acesso as novas ferramentas de arquitetura e testes em alguns casos.

“Os lançamentos da linha 2010 não tem como objetivo apenas a inovação tecnológica, mas também marca o comprometimento da Microsoft em ajudar nossos clientes a aproveitarem melhor seus investimentos”, diz o Diretor de Marketing da Microsoft, Dave Mendlen. “A ‘Ultimate Offer’ e os novos benefícios ao assinante MSDN foram combinados para proporcionar aos desenvolvedores acesso as novas ferramentas, suporte técnico e treinamento, oferecendo à organização ainda mais valor agregado”.

A Microsoft também simplifica a linha de produtos para o Visual Studio 2010. Na próxima versão, os clientes serão capazes de escolher entre três versões principais do Visual Studio 2010:

· Microsoft Visual Studio 2010 Ultimate com MSDN: é a opção mais completa, abrange ferramentas para tarefas em todo o ciclo de vida do desenvolvimento.

Principais funcionalidades: Architecture Explorer, Test and Case Management,UML Modeling, Load Test, Intelli Trace (Debug Avançado), etc.

· Microsoft Visual Studio 2010 Premium com MSDN: é a opção intermediária com foco em ferramentas avançadas para desenvolvimento, testes e dados.

Principais funcionalidades: UI Test Automation, Performance Profiling, Static Code Analysis, Test Impact Analysis, Code Coverage, Database Deployment, Test Data Generation, etc.

· Microsoft Visual Studio 2010 Professional com MSDN: é a opção básica e essencial para as tarefas do dia a dia do desenvolvedor

Principais funcionalidades: Cloud, Windows, WPF, SharePoint and Silverlight Development, WPF Editor, Multi-core development, etc.

A Microsoft também revelou novos benefícios para assinantes do MSDN, incluindo:

· Acesso ao Team Foundation Server (TFS) 2010, todo empresa que possuir assinatura MSDN ativa na data do lançamento em março terá acesso sem custo adicional ao TFS para gerenciamento do ciclo de desenvolvimento, controlando código fonte, métricas de desenvolvimento, controle de atividades e bugs e muito mais. Sem dúvida o Team Foundation é a melhor opção para substituir o Source Safe agregando muito mais valor para sua empresa.

· Desenvolvimento na Nuvem com Azure: os assinantes do MSDN Premium poderão desenvolver na Plataforma Windows Azure (plataforma de serviços na nuvem da Microsoft) com disponibilidade de recursos como armazenamento, transferências de dados, bases de dados do SQL Azure e o .NET Services.

· E-learning gratuito, até 40 horas por ano por assinante.


Parceria com o ITA possibilita interface em Português

Para a próxima versão a Microsoft disponibilizará um novo Language Pack para a edição Professional que estará disponível no próximo trimestre. O Language Pack é um complemento gratuito que será instalado sobre a versão em inglês do Visual Studio Professional Edition para exibir grande parte da interface traduzida para o português. A Biblioteca MSDN será exibida em um ambiente de Wiki de Tradução. A Microsoft está novamente estabelecendo uma parceria com o Departamento de Ciência da Computação do ITA (Instituto Tecnológico de Aeronáutica) que fará a tradução. Esta é a terceira vez que a Microsoft trabalha junto com o ITA. “Temos o orgulho de dar continuidade a este importante trabalho que permite a Microsoft fornecer soluções no idioma local para o mercado brasileiro, sem gerar custos para os usuários e beneficiando toda a comunidade técnica”. diz Amintas Neto, Gerente de Relações Acadêmicas.

Para mais informações e download do Beta 2, acesse o site do produto em www.microsoft.com/visualstudio

Arquitetura de Cache. Identificando o melhor tipo de Cache para sua solução.

Olá pessoal. Este post apresentará os tipos de cache que podemos ter no “Velocity. É muito importante conhecer e entender como funcionam cada tipo de Cache para definir a melhor arquitetura de Cache para sua solução.

Cada aplicação trabalha com um tipo específico de dados. Eles podem ser dados de consulta, dados transacionais ou dados distribuídos. O tipo de dado que sua aplicação acessará afetará diretamente na arquitetura de Cache que se deve propor.

Por isso vamos conhecer um pouco sobre esses tipos de dados.

DADOS DE CONSULTA

São dados agregados ou trasformados e tem a caracteristica de cada versão do dado ser única.

Dados pouco atualizados ou atualizados com baixa frequência

EXEMPLOS:

  • Alicações Web e Coorporativas como catalogos de produtos
  • Usuários, Dados de Funcionários

TIPO DE ACESSO:

  • Maior quantidade de leitura
  • Acesso concorrente e compartilhado

ESCALABILIDADE:

  • Maior número de acessos

FUNCONALIDADE:

  • Acesso baseado em chaves
  • Buscas e filtro
  • Carregamento local (Servidor Web)

image

DADOS TRANSACIONAIS

São dados gerados a partir de atividade transacionais nas aplicações.

EXEMPLOS:

  • Carrinho de compras
  • Session State
  • Aplicações coorporativas B2B

TIPO DE ACESSO:

  • Leitura e gravação
  • Acesso exclusivo

ESCALABILIDADE:

  • Muitos dados e acessos simultâneos

FUNCAIONALIDADES:

  • Acesso baseado em chaves
  • Transações

 

image

 

DADOS DISTRIBUÍDOS

São dados existentes em mais de uma fonte de dados.

EXEMPLOS:

  • Dados alterados por transações
  • Transações “distribuídas”
  • Inventário de venda de passagens

TIPO DE ACESSO:

  • Leitura e gravação
  • Acesso compartilhado aos dados

FUNCAIONALIDADES:

  • Acesso baseado em chaves
  • Transações
  • Escalabilidade
  • Grande número de acessos simultâneos

image

Agora que já conhecemos os tipo de dados que podemos trabalhar, ver os tipos de Cache que podemos utilizar com o “Velocity”.

CACHES DISTRIBUÍDOS

Os Caches do tipo distribuídos podem ser classificados em particionados e replicado.

PARTICIONADO

  • Dados divididos por todos os nós no mesmo named cache
  • Usado para escalabilidade e disponibilidade

Exemplo:

  1. Put (K2, V2) executado na aplicação do Cliente1
  2. Camada de roteamento envia o item V2 para o Cache2
  3. Get (K2) executado na aplicação do Cliente2
  4. Cliente 2 roteia para o Cache 2 para pegar o item V2

image

REPLICADO

  • Dados replicados (copiados) para todos os nós no mesmo named cache
  • Usado para escalabilidade (Performance / Leitura)

Exemplo:

  1. Put (K2, V2) no Cache1
  2. Cache2 é atualizado e notifica o Cache1 e o Cache3
  3. Cache2 replica de forma assíncrona os dados para o Cache1 e Cache2
  4. Get(K2) no cache3
  5. O Cache 3 lê do seu repositório local os dados e retorna o valor do Item

image

CACHE LOCAL

O Cache local pode acelerar acesso aos dados no cliente pois ele mantém o Cache no processo da aplicação para dados privados utilizados com frequência e com isso a carga dos dados fica no cliente.

Exemplo utilizando Cache Particionado com Cache Local.

  • Put (K2, V2) executado na aplicação do Cliente1
  • Camada de roteamento envia o item V2 para o Cache2
  • Get (K2) executado na aplicação do Cliente2
  • Cliente 2 identifica que o dado solicitado existe no Cache Local da aplicação e busca este dado localmente, evitando a “viagem” até o nó do Cache aumentando consideravelmente a performance de leitura aos dados.

     

    image

  •  

    No próximo post vou falar sobre arquitetura de Cache em Alta Disponibilidade.

    Por enquanto é só.

     

    Abraços,

    Daibert

    Novidades no “Velocity” CTP4

    Olá pessoal.

    Enquanto aguardamos para as próximas semanas o CTP do “Velocity” já podemos falar quais serão algumas features desse release.

    Além do suporte a .net 4.0 teremos:

    Segurança:

    • Autenticação
    • Autorização

    Configuração:

    • Provider ADO.NET para persistir as configurações do cache

    Gerenciamento:

    • Mais contadores para monitoração
    • Live Cluster Patching –> Aplicação de patch em nós do cache sem precisar “desliga-los”
    • Compatibilidade de versões entre os nós do cluster.
    • Instalação “silenciosa”. Isso permitirá, por exemplo, que o System Center dispare um script Power Shell para instalação de um novo nó do cluster em uma máquina da rede.

     

    Por enquanto é só o que podemos falar sobre o CTP4, mas em breve teremos mais novidades sobre esse release.

     

    Abraços,

    Daibert

    Não perca “VELOCITY” no Teched Brasil 2009!!

    clip_image001

    Pessoal, para quem tem interesse em ver uma demo do “Velocity” de perto, não percam a minha apresentação no TECHED Brasil 2009. Segue abaixo a descrição.

    Depois da palestra teremos um espaço para bate papo no community lounge e também estarei no “Ask the Experts” para falar mais sobre o produto e soluções envolvendo cache distribuído.

    Como Criar uma Aplicacão WEB de Alta Performance com Cache Distribuído (WEB308)

    Esta sessão descreve e demonstra como construir aplicações corporativas e web com alta performance, escalabilidade e disponibilidade usando o projeto "Velocity". O projeto "Velocity" é uma plataforma de cache distribuído, que integra diretamente um cluster grande de máquinas em um único cache unificado com alto desempenho, escalabilidade e a alta disponibilidade. Mostraremos uma aplicação ASP.NET real, descrevendo desde a instalação do "Velocity" até o desenvolvimento da aplicação e melhores práticas para o alcance do alto desempenho, escalabilidade e a alta disponibilidade. Esta sessão será interativa, prática, que mostra o desenvolvimento e implantação de aplicações com o "Velocity".

    Abraços,

    Daibert

    Habilitando o net.tcp no WAS

    Depois de achar que eu estava ficando maluco, descobri que é necessário habilitar o net.tcp na minha aplicação publicada no WAS. Para isso basta executar o comando abaixo no prompt (fazendo as alterações necessárias para sua aplicação):

    Adicionando o binding net.tcp ao site:

    %windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" 
    -+bindings.[protocol='net.tcp',bindingInformation='808:*']
     
    Habilitando o net.tcp a aplicação WCF: 
     
    %windir%\system32\inetsrv\appcmd.exe set app 
    "Default Web Site/<WCF Application>" /enabledProtocols:http,net.tcp

    REFEREÊNCIAS

    http://msdn.microsoft.com/en-us/library/ms731053.aspx

    Abraços,

    Daibert

    Os livros dos peixinhos estão aqui … e “de gratis”

    Bom, se você conseguir fazer todos os treinamentos desse post e ler os livros dos peixinhos você será quase um nija do WCF. Nem precisa dizer que esses livros são indispensáveis na prateleira.

    Aproveito e deixo o link para o Microsoft Architecture Guide 2.0.


    Programming WCF Services by O'Reilly Media Learning WCF by O'Reilly Media

    • Microsoft® MSDN® Library – “Fundamental Windows Communication Foundation Concepts” – http://msdn2.microsoft.com/en-us/library/ms731079.aspx
    • MSDN Library – “Windows Communication Foundation Security” – http://msdn.microsoft.com/en-us/library/ms732362.aspx
    • WCF Security Documentation – “Security Overview” – http://msdn.microsoft.com/enus/library/ms735093.aspx

    Community
    • DevX.com – “Fundamentals of WCF Security,” by Michèle Leroux Bustamante – http://www.devx.com/codemag/Article/33342
    • TheServerSide.NET – “Building a Claims-Based Security Model in WCF,” by Michèle Leroux Bustamente –http://www.theserverside.net/tt/articles/showarticle.tss?id=ClaimsBasedSecurityModel
    • TheServerSide.NET – “Building a Claims-Based Security Model in WCF – Part 2,” by Michèle Leroux Bustamente – http://www.theserverside.net/news/thread.tss?thread_id=45499
    • TheServerSide.NET – “Securing Your WCF service,” by William Tay – http://www.theserverside.net/tt/articles/showarticle.tss?id=SecuringWCFService
    • TopXML – “BizTalk and WCF: Part II, Security Patterns,” by Richard Seroter – http://www.topxml.com/code/cod-72_10192_biztalk-and-wcf-part-ii-securitypatterns.aspx

    Blogs Microsoft
    • J.D. Meier – http://blogs.msdn.com/jmeier/archive/tags/WCF/default.aspx
    • Kim Cameron – http://www.identityblog.com/
    • Kenny Wolf – http://kennyw.com/category/indigo/
    • Nicholas Allen – http://blogs.msdn.com/drnick/
    • Ralph Squillace – http://blogs.msdn.com/ralph.squillace
    • Steve Maine – http://hyperthink.net/blog/
    • Tomasz Janczuk –http://www.pluralsight.com/blogs/tjanczuk/
    • Vittorio Bertocci – http://blogs.msdn.com/vbertocci/
    • Wenlong Dong – http://blogs.msdn.com/wenlong

    Microsoft Community
    • Dominick Baier – http://www.leastprivilege.com/
    • Keith Brown – http://www.pluralsight.com/blogs/keith 
    • Michèle Leroux Bustamante – http://www.thatindigogirl.com/
    • Thomas Restrepo – http://www.winterdom.com/weblog

    Podcasts
    • ARCast – “Secure, Reliable Transacted Messaging with WCF (Part 1)” – http://channel9.msdn.com/Showpost.aspx?postid=173405
    • ARCast – “Secure, Reliable Transacted Messaging with WCF (Part 2)” – http://channel9.msdn.com/Showpost.aspx?postid=173830
    Improving Web Services Security: Scenarios and Implementation Guidance for WCF

    ARCast.TV • ARCast.TV – “WCF Session Behavior from Slovenia” – http://channel9.msdn.com/Showpost.aspx?postid=347826

    Videos
    • Vittorio Bertocci: “WS-Trust – Under the Hood” – http://channel9.msdn.com/tags/WSTrust

    Tags
    • WCF tag – http://channel9.msdn.com/tags/WCF

    http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612#reader

    Transações Distribuídas entre Servíços Multi-Plataformas

    Olá pessoal.

    Bom, o objetivo desse blog é focar especificamente em “Velocity”, porém como estou em um projeto de SOA com uma série de desafios em WCF como, transações entre serviços em plataformas diferentes (.net, java jboss, oracle), resolvi escrever uma série de posts para falar um pouco sobre este assunto.

    Primeiro um pouco de história. Em 2005 a Microsoft, a IBM, a SUN e outras empresas se juntaram para publicar uma série de especificações de protocolos que permitiriam que todas essas tecnologias falassem entre sí para chamarem serviços transacionais ACID. Entre eles o mais conhecido é o WS-AT.

    • WS-AtomicTransaction (WS-AT): Permite transações do tipo “short-lived” . Garante que as transações ocorridas dentro do contexto dos “bindings” sejam efetivadas dentro do conceito atômico do ACID.
    • WS-BusinessActivity (WS-BA): Permite transações do tipo “long-running activities” e suporta o conceito de “compensation”.
    • WS-Coordination (WS-Coor): Permite que transações mudem de contexto dentro de uma sequência de chamadas a serviços.

    WS-AT não está ligado diretamente a um Sistema Operacional ou a uma tecnologia. Por exemplo, você pode utiliza-lo para criação de transações distribuídas entre serviços .Net WCF, JBOSS rodando em Linux, AIX ou até mesmo em Mainframe rodando Websphere para zOS.

    Quando uma transação é propagada de um processo para outro, o DTC (Distributed Transaction Manager) deve ser utilizado pois dois ou mais participantes estão envolvidos na transação.

    Num próximo post vou falar sobre os Gerenciadores de Transação Lightweight Transaction Manager (LTM), Kernel Resource Manager (KRM) e Distributed Transaction Manager (DTC).

    image

    REFERÊNCIAS

    MessageVersion Class: http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.messageversion.aspx

    WS-Coordination: http://msdn.microsoft.com/en-us/library/ms996526.aspx

    Especificações:

    Web Services Coordination (WS-Coordination)

    Web Services Atomic Transaction (WS-AtomicTransaction)

    Web Services Business Activity Framework (WS-BusinessActivity)

    WSDL:

    WS-Coordination

    WS-AtomicTransaction

    WS-BusinessActivity

    SOA Simplified :

    Service Virtualization With The Managed Services Engine (MSE)http://msdn.microsoft.com/en-us/magazine/dd727511.aspx

     

    Abraços,

    Daibert

    Padrão de projeto - Cache Aside Pattern com “Velocity”

     

    Olá pessoal. Hoje mostrei para um colega aqui no escritório como implementar o Cache Aside Pattern utilizando o “Velocity”.

    A idéia desse pattern é bem simples. Tenta-se primeiramente buscar um dado do cache. Caso o dado não exista no cache, busca-se o dado do Banco de Dados e insere-se esse dado no cache.

       1:  //  Busca-se um dado do Cache
       2:  Veiculo VeiculoObj = 
    (Veiculo)catalog.Get("veiculo-101");
       3:   
       4:  // Se não está presente no Cache
       5:  if (VeiculoObj == null)
       6:  {
       7:     // Lê-se do Banco de Dados
       8:     VeiculoObj = ReadFromDatabase();
       9:     
      10:     // Popula-se o Cache
      11:     catalog.Put("veiculo-101", VeiculoObj);
      12:  }
     

    Em versões futuras teremos o suporte de read-through/write-behind que entrarei em detalhes em um post futuro.

    Até o mais, 
    Daibert
     
     
    image

     
     
    Windows Live Writer – Editando o seu blog

    Pessoal,

    Sempre tive problema para editar o blog devido a complexidade das páginas de administração e de postagem. Mas agora “MEUS POBREMAS ACABARAM!!!!!”.

    Descobri o Windows Live Writer. Então se você tem um blog e quer ter produtividade em sus postagens, clique na imagem abaixo e baixe o Windows Live Writer.

    windowslivewriter2009 
    Abraços,
    Daibert
    "Velocity" Distributed Cache: Um novo CTP em Setembro

    Devido ao feedback de alguns testadores dos CTPs lançados até agora, o "Velocity" terá um CTP4 antes da sua versão final. O CTP4 tem data de lançamento prevista para meados de Setembro próximo.

    Esta versão terá melhorias na instalação e configuração do produto, contadores para o Perfmon, melhorias na segurança dos dados no cache. 

    Lista dos contadores que estarão disponíveis no CTP4:

    Counter Name

    Description

    Applicable Category

    Total data size (MB)

    This counter will represent total size of cached data in Velocity. It does not include cache overhead.

     

    Host, Cache

    Total cache misses

    This will be total number of requests that couldn’t find the key in cache since the start of the cache service. This gives the information about how efficiently cache is being used.

    Host, Cache

    Cache miss ratio

    This counter gives ratio of ‘number of requests that couldn’t find the key’ to the ‘total number of requests’ since the start of the cache service. And it gives the information about how efficiently cache is being used. It is a ratio of sum of misses to total number of request since the start of the cache service.

    Host, Cache

    Total Get requests

    This will be number of Get requests received from all clients since the start of the cache service.

    Host, Cache

    Get miss ratio

    This will be ratio of ‘number of Get requests which couldn’t find the key’ to the ‘total number of Get requests’. This gives the information about how efficiently cache is being used.

    Host, Cache

    Total write operations

    This will be number of write requests since the start of the cache service. The write requests include Put, Add, Remove,

    ResetObjectTimeout, GetAndLock, PutAndLock, Unlock. 

    Host, Cache

    Total active connections

    This counter stores number of active connections on the cache host.

    Host

    Total client requests

    This will be total number of requests received from the Velocity client. It includes all of the API calls.

    Host

    Total requests served

    It is a counter for number of requests served and responses sent by the cache host since the start of the cache service. This will provide a rough estimate of the throughput of the cache host.

    Host

    Average response time (milliseconds)

    This counter represents the average response time to service a Velocity client API request on the cache host. The average is taken over all the requests received by the cache host since the start of the cache service.

    Host

    Total expired Object

    This counter stores the number of expired object since the start of the cache service.

    Host

    Total memory evicted (MB)

    This will provide the information about the amount of memory which was freed due to the Eviction procedure on the cache host since the start of the cache service.

    Host, Cache

    Average age of evicted object (seconds)

    It stores average age of evicted Object. This is measure of the efficiency of the eviction procedure.

    Host, Cache

    Total eviction run

    This will be the number of eviction runs since the start of the cache service.

    Host

    Total evicted Objects

    This counter stores the number of evicted object since the start of the cache service.

    Host

    Total exceptions

    This represents the number of Velocity exceptions thrown by the cache host since the start of the cache service.

    Host

    Total retry exception

    This will be total number of retry operation exceptions thrown by the cache host since the start of the cache service.

    Host

    Total notification poll requests

    This counter stores total number of poll requests received by the cache host since the start of the cache service.

    Host, Cache

    Total GetAndLock requests

    This will be total number of GetAndLock requests received by the cache host since the start of the cache service.

    Host, Cache

    Total successful GetAndLock requests

    This will be number of successful GetAndLock requests since the start of the cache service.

    Host, Cache

    Fonte: http://blogs.msdn.com/velocity/archive/2009/06/10/proposed-performance-counters-for-ctp4.aspx

    Até o próximo post.

    Abraços,
    Daibert

    Saiu o "Velocity" CTP3

    Boa tarde pessoal. Depois de um blackout de posts por quase 2 meses devido a viagens e projetos estou de volta e com uma boa notícia. Saiu na semana passada, com poucos dias de atraso,  o CTP3 do "Velocity".

    Esse CTP3 é bem mais próximo da versão final do produto (Microsoft Distributed Data Cache) do que a versão anterior. Pelo que tenho de informação pública, o pequeno atraso no lançamento do CTP3 foi a alteração de alguns nomes de namespace e mudança e implementação de novas interfaces paras APIs existentes ou novas.

    As principais implementações dessa versão são:

    • Cache Notifications
    • Performance Improvements
    • Security Enhancements
    • Updates to the Installation Program (A pedido de usuários que testaram o produto e pediram a instalação em modo silencioso via linha de comando)
    • Cluster Configuration Editing Options Decoupled from Storage Options
    • Revised APIs

    Abaixo a lista de namespaces do CTP2 x CTP3:

    CTP2

    CTP3

    Notes

    System.Data.Caching namespace

    Microsoft.Data.Caching

    The "Velocity" namespace changed, affecting the entire API.

    Cache class

    DataCache class

    Name and member changes

    CacheErrorCode class

    DataCacheErrorCode enumeration

    Name, type, and value changes

    CacheException class

    DataCacheException class

    Name change

    CacheFactory class

    DataCacheFactory class

    Name and constructor changes

    CacheItem class

    DataCacheItem class

    Name change

    CacheItemVersion class

    DataCacheItemVersion class

    Name change

    LocalCacheSyncPolicy enumeration

    DataCacheLocalCacheSyncPolicy enumeration

    Name and value changes

    LockHandle class

    DataCacheLockHandle class

    Name change

    LogSink class

    DataCacheLogSink class

    Name change

    ServerEndPoint class

    DataCacheServerEndpoint class

    Name change

    SessionStoreProvider class

    DataCacheSessionStoreProvider class

    Name change

    SinkType enumeration

    DataCacheSinkType enumeration

    Name change

    Tag class

    DataCacheTag class

    Name change

    (new class)

    DataCacheNotificationDescriptor class

    New class for distinguishing cache notifications. 

    (new enumeration)

    DataCacheOperation enumeration

    New enumeration for specifying cache operations that can trigger cache notifications. 

    (new delegate)

    DataCacheNotificationCallback delegate

    New delegate for cache notifications. 

    (new delegate)

    DataCacheFailureNotificationCallback delegate

    New delegate for failure notifications

    * Retirado de http://blogs.msdn.com/velocity

    Nos próximos posts vou falar sobre algumas novidades do CTP3 e vamos começar a explorar bastante a parte de código C# para criar aplicações orientadas a cache. 

    Aproveito para linkar o video apresentado pelo Murali, Arquiteto do Projeto "Velocity",  no MIX 2009: http://videos.visitmix.com/MIX09/T59F

    Referências:

    Velocity MSDN Link : http://msdn.microsoft.com/en-us/data/cc655792.aspx

    Velocity CTP3 Download Link: Microsoft Project Code Named “Velocity” CTP3 on the Microsoft Download Center

    Velocity Samples Link: http://code.msdn.microsoft.com/velocity/

    Abraços,

    Daibert

    More Posts Next page »
    Page view tracker