News

Broadening the Reach of SOA

Configuration Service 2.0 may offer a glimpse of what’s to come in Microsoft’s next-generation SOA platform.

Looking to broaden the reach of high-performance .NET applications across multiple clustered tiers and platforms, Microsoft late last month released a sample app, tutorials and benchmarks to help simplify the development and deployment of service-oriented architecture (SOA) composite apps.

Microsoft's .NET StockTrader 2.0 with Configuration Service 2.0 provides an early, though narrow, glimpse of the work coming out of the company's "Oslo" initiative, Redmond's next-generation model-driven SOA platform. Officials were quick to warn that Configuration Service 2.0 is not a community technology preview (CTP) of Oslo, but did say that work from it could find its way into the eventual CTP.

"This particular set of code will help shape what we see in Oslo," says Greg Leake, director of technical marketing in Microsoft's Connected Systems Division. "It goes to the heart of how we think about our SOA infrastructure going forward."

Microsoft first revealed its Oslo initiative last fall, and described it as an effort to bring together its services and modeling platforms by letting developers create models that "are the application" rather than models that describe the app. That shift is intended to allow for the sharing and re-use of services within an enterprise, with trusted partners and via cloud-based standard Web services. Microsoft said it would ultimately offer Oslo through BizTalk Server 6, System Center 5, Visual Studio 10, BizTalk Services 1 and the .NET 4.0 Framework.

With SOA, Microsoft envisions a move away from monolithic apps that embed all the services to composite apps that integrate multiple standards-based Web Services implemented in .NET through Windows Communication Foundation (WCF). Leake says Configuration Service 2.0 is a service that adds new functions for composite applications, including load balancing and failover of service operations, centralized configuration management and a Web-based user interface that allows for the monitoring of composite apps once they're deployed.

Source Code
The source code and benchmarks are available for developers to download from Microsoft's MSDN site. Configuration Service 2.0 builds on the company's .NET StockTrader, a trading app released last June based on ASP.NET and WCF. The StockTrader 2.0 sample turnkey SOA app, which mimics equity transactions, is similar to its predecessor, though it's based on the .NET 3.5 Framework and implements the new Configuration Service 2.0.

When releasing StockTrader last summer, Microsoft emphasized its ability to interoperate with IBM's WebSphere Trade 6.1 sample capacity planner for distributed applications, and published benchmarks that indicated StockTrader's performance benefits. Microsoft had also showcased StockTrader's interoperability with the WebSphere platform and J2EE and positioned it to developers seeking to learn how to build SOA apps based on .NET.

But it was not suited for simple development of SOA-based .NET applications.

"It was an early implementation that no customer could implement on their own," Leake says. "The 2.0 version is completely abstracted so customers can implement their own applications and services, and it only takes about 20 lines of code on the customer's part to do."

Leake has already begun demonstrating to local .NET user groups StockTrader 2.0 and Configuration Service 2.0 interoperating with IBM WebSphere. He hopes to show connectivity with application servers from BEA Systems Inc., Oracle Corp. and Sun Microsystems Inc. at Microsoft's Tech-Ed conference in Orlando next month.

The new Configuration Service 2.0 should appeal to a broad swath of software architects, dev managers and solutions provider partners building mission-critical SOA-based apps, says Burley Kawasaki, director of product management in Microsoft's Connected Systems Division. "We're trying to demonstrate how you can really make the life of deploying, managing and scaling that in the data center, more simply," Kawasaki says.

One developer briefed on the new release says he looks forward to working with it. "If you're an architect building distributed solutions on the Microsoft platform, you've got to pay attention to this," says Scott Stanfield, CEO of Vertigo Software Inc., a Point Richmond, Calif.-based Microsoft business partner. "You're not going to find any other source that gives you not only source code, but performance numbers as well. Whether it's something developers will ultimately use, they can judge for themselves."

Burley Kawasaki, Director of Product Management, Connected Systems Division, Microsoft "You can take existing apps, existing services, however you've implemented them, and leverage these as capabilities that help your apps scale."
Burley Kawasaki, Director of Product Management,
Connected Systems Division, Microsoft

Upping the Ante
Leake describes Configuration Service 2.0 as a general-purpose set of tiered libraries that provide the ability to dynamically scale out services across clustered servers for both load balancing -- to provide additional capacity -- and failover at the application and service-operation level.

"So if one operation is going to fail, it'll automatically retry that on another clustered node," Leake says. "But it also is a general framework that provides a way of managing configuration settings and various elements of the configuration of your service environment central, even within a composite app for different pieces of the different service levels."

Configuration Service 2.0 is built into .NET and is based on managed C# code. That means it's a shared library that can also work with Visual Basic or VB.NET, Leake says.

More importantly, developers don't have to rewrite their applications from scratch using Configuration Service 2.0, Kawasaki says. "You can take existing apps, existing services, however you've implemented them, and then you can leverage these as capabilities that help your apps scale," he says. "It's an important difference. Traditionally you'd architect your app, and you'd do things to it to performance-tune it and to make sure it can scale and be distributed. These are very generic capabilities that can now be leveraged by broad, general-purpose .NET development."

About the Author

Jeffrey Schwartz is editor of Redmond magazine and also covers cloud computing for Virtualization Review's Cloud Report. In addition, he writes the Channeling the Cloud column for Redmond Channel Partner. Follow him on Twitter @JeffreySchwartz.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube