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

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube