The capability granularity and constraint granularity of a service contract can greatly impact performance of the service architecture. A service consumer communicating over a network connection can experience significant latency between request and response when exchanging large messages over poor network connections. Network latency is often beyond your control, especially when you consume third party services over a public network. Nevertheless you can architect your services to minimize the performance impact of remote service interactions.
Tuning service runtime performance will improve the utilization of individual services as well as the performance of service compositions that aggregate these services. Even though it is important to optimize every service architecture, agnostic services in particular, need to be carefully tuned to maximize their potential for reuse and recomposition.
Because the logic within a service is comprised of the collective logic of service capabilities, we need to begin by focusing on performance optimization on the service capability level.
In this article we will explore several approaches for reducing the duration of service capability processing. The upcoming techniques specifically focus on avoiding redundant processing, minimizing idle time, minimizing concurrent access to shared resources, and optimizing the data transfer between service capabilities and service consumers.
This article explores the implementation the roles pattern in a typical business scenario by using Microsoft’s Managed Extensibility Framework to select and load the SalesOption objects that the design pattern requires.
Because the ASP.NET Web API leverages the fundamental building blocks of the HTTP protocol, it can provide a way of refactoring your existing ASP.NET applications into an AJAX-enabled, Test Driven Development world.
This article, the second in a series about using the MVVM model in Windows 8, describes how the different layers of an application communicate, emphasizing communication between the ViewModel and the view using the MVVM Light Messenger event bus for status messages and a view service implementation for a dialog service.
In recent years, dependency injection (DI) and inversion of control (IOC) have gained popularity as means for creating and retrieving instances of classes in applications and libraries. This article examines these mechanisms, using MVVM Light’s SimpleIoc to illustrate the usefulness of implementing an IOC container in MVVM-based applications.