Arquitetura de Soluções

por Waldemir Cambiucci

patterns & practices : Microsoft Composite Service Application Guidance

Olá pessoal, tudo certo?

Já falamos por aqui sobre a iniciativa do patterns & practices sobre Composição de Serviços. Tivemos recentemente algumas atualizações sobre essa iniciativa, que vale manter no radar.

patterns & practices : Composite Services
Ref.: http://compositeservices.codeplex.com/

O objetivo do Composite Services é criar uma infraestrutura para composição de serviços no modelo SOA, trabalhando sobre as tecnologias:

Windows Server 2008 R2
Microsoft SQL Server 2008 R2 Enterprise Edition
Microsoft Windows Server AppFabric
Microsoft Visual Studio 2010
Microsoft Silverlight Tools for Visual Studio 2010
Silverlight 4 Toolkit – April 2010

Em resumo, o pacote Composite Services oferece alguns patterns comuns para cenários de reuso e composição de serviços, como vemos abaixo (retirado da documentação):

Composition Implementation Patterns

  • Repair and Resubmit (candidate pattern) – this pattern is implemented in ESB Toolkit 2.0 as part of Exception Management Framework (EMF). This CTP release provides code sample for implementing this pattern with workflow service in Windows Server AppFabric. This sample leverages exceptions web service and pre-build workflow activities for creating fault message and storing it in the EMF database.
  • Service Virtualization – implementation of this pattern in this CTP release shows how to expose WCF routing service with custom metadata and use metadata centralization capability.

Inventory Centralization Patterns

  • Policy Centralization – this CTP release delivers capabilities for policy centralization and for managing policy definitions and policy assertions in according to WS-Policy specification. The release also includes set of samples to show how to leverage the policy centralization capabilities.
  • Schema Centralization – this CTP release includes capabilities for importing and storing XML schemas centrally as well as tracking relationships between them to enforce reuse. The release also includes set of samples to show how to leverage the schema centralization capabilities.

Service and Inventory Governance Patterns

  • Metadata Centralization – this CTP release includes persistent store for service metadata for service metadata, including WSDL and ODATA specifications as well as tools for importing metadata and code generation from the service metadata store via inventory web services using MEX and HTTP GET protocols. In addition, service metadata store provides relationship tracking between imported metadata documents, such as WSDL, XML schemas and policies.    
  • Analytic Tracing (candidate pattern) – this CTP release contains reusable code and samples for implementing analytic using ETW, which include the event collector service, event persistent store and samples that show how to define metrics and customize them. Analytic tracing capability for SOAP services provides flexibility to define service metrics as tracing policies using WS-Policy specification as well as components to emit those events. In addition, event collector service provides extensibility points to customize event processing logic:  plugins and event decoders while reusing capabilities for ETW tracing.
  • Termination Notification – this CTP includes a sample implementation of this pattern that leverages policy centralization capability.

Como ainda é CTP2, o processo de criação e configuração do ambiente ainda é manual e exige alguns pontos de atenção. Mas permite a criação de um cenário de resolução de serviços e composição, bem interessante. Não deixe de seguir os passos e ler o documento “C:\CompositeServices – CTP2 – Docs\GettingStarted.htm” logo após a instalação do pacote.

Como estudo sobre patterns de SOA e reuso, o pacote está bem interessante. Vamos acompanhar sua evolução ao longo do tempo.

Por enquanto é só! Até o próximo post 🙂

Waldemir.