Guidance and sample for secure, scalable, available and interoperable WebServices using .NET platform...Oslo approaching

StockTrader 2.0 and Configuration Service 2.0 now live on MSDN!

.NET StockTrader 2.0 and Configuration Services 2.0 Home Page

clip_image001

Executive Summary

Last May, we released the .NET StockTrader 1.0 as guidance for building service-oriented, enterprise-ready applications using .NET.  We’ve just updated it with new features to show expanded capabilities of what you can do with .NET in the enterprise built upon the recently released Windows Server 2008 and .NET Framework 3.5. This latest release provides guidance for developers and IT Pros on how to easily build services with .NET 3.5 and Windows Communication Foundation (WCF), provides scale out virtualization of services across clustered nodes, centralized configuration management of distributed composite applications, and provides these capabilities via easily re-usable shared libraries (~2 lines of code needed for developers to implement).

What's in the box?

· .NET StockTrader 2.0 is a Microsoft Windows Server 2008 and .NET Framework 3.5 implementation of IBM’s primary benchmark application and capacity planning tool for WebSphere 6.1, called Trade 6.1. The .NET StockTrader is a service-oriented, composite application built using .NET Windows Communication Foundation and C#, and is developed entirely in .NET. It operates against both SQL Server and Oracle 11G databases, and precisely mirrors the IBM Java Enterprise implementation, providing functional and behavioral equivalence for all configurations tested (transaction integrity, distributed transaction calls, database queries, Web services XML formats, operational flow, and user-presented HTML pages and data structures). Hence, it represents an excellent opportunity to investigate and compare the relative performance of .NET Framework and IBM WebSphere for an application server workload that typifies many corporate and Internet-based applications.

· The application implements Advanced Web Service security with message-level security, and provides a step-by-step tutorial for reconfiguring middle tier services to support both custom username and custom certificate client credentials.  It also incorporates interoperability over the Advanced Web Service (WS-*) protocols, interoperating with an Order Processing service alternately hosted in Java or PHP, based on open-source products from WSO2 and Apache Axis2/C.

· The download kit also includes a new Capacity Planner tool, which is a multi-agent benchmarking tool created in .NET and WCF (source code provided) such that customers can easily test performance of both the Trade workload and the WSTest Web Services workload (WSTest is a Web Services benchmark created by Sun Microsystems; and both .NET/WCF and Java/WebSphere implementations are included in the kit).  The tool can be used to compare .NET performance directly to IBM WebSphere performance, as well as to other java-based application server products.

· Configuration Service 2.0 provides a reusable set of code libraries that can be leveraged as part of your SOA projects to develop new composite applications that mix/match services across both .NET and Java.  You can take advantage of the Configuration Service with your existing services and apps, enabling them to easily scale out by automatically detecting when you’ve added new computing nodes to the network and take advantage of scaling out with greater power (without requiring complex setup or configuration – it auto-detects that more resources are available for use).  The Configuration Service also allows you to setup and manage application-specific configuration data, and change this data without having to worry about physically re-deploying configuration files or restarting host processes across clustered nodes.  It is designed to make composite applications more resilient to failure, since service client requests automatically get redirected access to new nodes in a service domain.

This release of guidance is an important effort in helping customers develop service-oriented, composite applications that can scale to meet the most demanding needs of the enterprise.  Also, this guidance includes some early investigations of work that could help shape future server product investments being made by CSD as part of our Oslo product roadmap.  We’re releasing some early guidance to collect feedback and ideas that will be driven back into the product teams to shape future product direction.

clip_image001[1]

Key Messages

  • .NET is a proven foundation for mission critical applications- StockTrader and Configuration Service 2.0 demonstrate how Windows and .NET deliver impressive performance, scalability and security relative to other options in the market.
  • Complete, seamless connections between front and back-end technologies - One of the key benefits of .NET is the breadth of options and features for developers and IT Pros utilizing the same tools and software. On the front end, WPF, ASP.NET and Silverlight provide rich user experiences that are able to work in concert with the robust and scalable services and workflow infrastructure provided by WCF, WF and other components of the .NET Framework.
  • Simplified Interoperability - We know your infrastructure is a mixed environment. With the .NET Framework, these technologies can ‘just work’ together in a dynamic environment with little up-front investment or new development.
  • Simplified management - The .NET Framework only continues to get more capable for building scalable applications, as demonstrated by the recent release of .NET 3.5 and Windows Server 2008. We’re making deep engineering investments to continue to help reduce the time it takes to perform basic development and management tasks, helping IT pros and professional developers make their application infrastructures more dynamic and flexible. This means that you can focus on adding more features and functionality to your applications spending less time writing lines and lines of code and debugging.

clip_image001[2]

Press Coverage

SD Times - From the Editors: Microsoft could democratize SOA

By Alan Zeichick

May 15, 2008

http://www.sdtimes.com/content/article.aspx?ArticleID=32145

SD Times - Microsoft opens 'Oslo' skunk works

By David Worthington

April 29, 2008

http://www.sdtimes.com/content/article.aspx?ArticleID=32106

InformationWeek - Microsoft continues its work on Oslo, SOA for Windows

By Charlie Babcock

April 24, 2008

http://www.informationweek.com/TechSearch/Search.jhtml?site_id=InformationWeek&personality=category&queryText=Burley+Kawasaki&search=Go

ZDNet - Microsoft’s Oslo connections begin to bud

By Joe McKendrick

April 29th, 2008

http://blogs.zdnet.com/service-oriented/?p=1098

Redmond Magazine - Microsoft To Release SOA Tool Paving the Path to Oslo

By Jeffrey Schwartz

April 22, 2008

(Reposted in ENT News, Redmond Developer News and Redmond Channel Partner)

http://redmondmag.com/news/article.asp?EditorialsID=9793

Blogs:

Windows Network - http://windows_network.windowsboot.com/2008/04/30/microsoft-opens-oslo-skunk-works/

Bad Boys Computer Weblog - http://badboyscomputers.wordpress.com/2008/04/30/web-services-2/

WinBeta - http://www.winbeta.org/comments.php?shownews=15604

IT Business Edge - http://www.itbusinessedge.com/blogs/mia/?p=366

clip_image001[3]

Call to Action

  • download the integrated setup program which installs both the StockTrader 2.0 and Configuration Services 2.0 code, plus full documentation, as well as a complete step-by-step tutorial for getting started. 
  • Tune into Greg Leake’s blog to learn more about the newest developments as additional updates are released, and visit the online forum to provide feedback.

clip_image001[4]

Q&A

Q. What is the .NET StockTrader application?

The .NET StockTrader is an end-to-end sample application for .NET Enterprise Application Server technologies. It is a distributed service-oriented application based on the .NET Framework, and illustrates many of the .NET enterprise development technologies for building highly scalable, rich "enterprise-connected" applications. It is also designed as a benchmark kit to illustrate alternative tuning options within .NET and their relative performance.

Q. What is the .NET StockTrader 2.0 and how is it different from previous versions?

The .NET StockTrader 2.0 is the latest version, updated on Windows Server 2008 and .NET Framework 3.5. The application also has updated Configuration Services as well as better clustering/failover, WAS hosting of TCP-based services, and server monitoring.

Q. What are the Configuration Services and how does this help customers?

Configuration Service 2.0 allows developers to more easily build applications that are easier to deploy, manage and scale in distributed environments, helping IT pros and professional developers make their application infrastructures more dynamic and flexible. This means that you can focus on adding more features and functionality to your applications spending less time writing lines and lines of code and debugging. Configuration Service 2.0 provides a reusable set of code libraries that can be leveraged as part of your SOA projects to develop new composite applications that mix/match services across both .NET and Java.  You can take advantage of the Configuration Service with your existing services and apps, enabling them to easily scale out by automatically detecting when you’ve added new computing nodes to the network and take advantage of scaling out with greater power (without requiring complex setup or configuration – it auto-detects that more resources are available for use).  The Configuration Service also allows you to setup and manage application-specific configuration data, and change this data without having to worry about physically re-deploying configuration files or restarting host processes across clustered nodes.  It is designed to make composite applications more resilient to failure, since service client requests automatically get redirected access to new nodes in a service domain.

Q. Do you have customers who are implementing these new applications?

The .NET StockTrader 2.0 is currently a sample application and targeted for developers to test for themselves at, http://msdn2.microsoft.com/en-us/netframework/bb499684.aspx, and do not have current details on shipping it as a complete product.

Q. When will you be releasing these sample applications as full complete products in the future?

This guidance includes some early investigations of work that could help shape future server product investments being made by CSD as part of our Oslo product roadmap.  We’re releasing some early guidance releases to collect feedback and ideas that will be driven back into the product teams to shape future product direction.

Q. Why are you investing so much in the .NET StockTrader? Isn’t it just a sample app?

The .NET Framework only continues to get more capable for building scalable applications, as demonstrated by the recent release of .NET Framework 3.5 and Windows Server 2008. We’re making deep engineering investments to continue to help reduce the time it takes to perform basic development and management tasks, helping IT pros and professional developers make their application infrastructures more dynamic and flexible. This means that you can focus on adding more features and functionality to your applications spending less time writing lines and lines of code and debugging. The .NET StockTrader is a great proof point in this since it leverages the new features in the current .NET Framework platform.

Q. What benchmarks did you publish in February (2008)?

We published two new application server benchmark tests on MSDN, based on Microsoft Windows Server 2008 with .NET Framework 3.5. Tests show faster throughput compared to IBM WebSphere 6.1 on Red Hat Linux, specifically with scalability and performance in mission-critical enterprise scenarios. StockTrader 2.0 shows 117% better throughput of Windows Server using the IBM-designed Trade 6.1 benchmark; and Sun Microsystems’ WSTest web services benchmark demonstrates 94% better throughput on Windows Server on processing Web Service requests. More information and results can be found at http://msdn.microsoft.com/stocktrader.

Q. Aren’t these benchmarks driven by Microsoft? How are we sure that the benchmarks was tested fairly since this is vendor driven?

The benchmarks were created by IBM and Sun Microsystems, respectively, and publicly published by these vendors for benchmarking analysis. IBM developed, tested and published the Trade 6.1 Java implementation. Furthermore, the benchmarks include full disclosure of all source code for .NET (and Java for WSTest 1.5 as well as all precise tuning details and test script flow.  We encourage customers to download the benchmark kits themselves to perform their own testing and comparative analysis.  The applications also offer excellent guidelines, for both platforms, on building high performance server-based applications.  Everything customers need (or other vendors) to replicate and verify the results by performing their own analysis on equipment of their choosing is included.

Q. What benchmark tests did you use?

The paper presents the benchmark results of two key application server workloads and two key benchmarks used in the industry:

  1. Trade 6.1 Application Server Benchmark created by IBM.  This benchmark serves as IBM’s primary capacity planning tool for WebSphere, and as their primary performance sample application for Java Enterprise applications. The workload is based on an end-to-end transaction-oriented application for a stock-trading business scenario.  The benchmarks detail throughput results for the IBM implementation vs. the functionally equivalent of the .NET Framework 3.5 implementation. 
  1. WSTest Web Services 1.5 Benchmark, created by Sun Microsystems. This benchmark tests an application server’s performance as a Web Service Host, measuring the platforms ability to process Web Service operations involving HTTP/SOAP requests, isolating the networking stack, Web server integration, and XML serialization engines within the application server. More info can be found at, http://msdn.microsoft.com/wstest.  

Q. What were the results with the Trade 6.1 Benchmark?

Specifically with scalability and performance in mission-critical enterprise scenarios, the .NET Framework 3.5 and Windows Server 2008 shows up to 117% better throughput than IBM WebSphere 6.1/Red Hat Linux.  Other tested configurations show similar results, for example message-based order processing via transactional messaging queuing shows the .NET Framework 3.5 and Windows Server 2008 outperforming WebSphere 6.1/Red Hat Linux by 72% in terms of transactions per second.  Additionally, the remote service layer tests show Windows Server 2008 and .NET Framework 3.5 with 93% better performance under peak concurrent user loads.

Q. What were the results with the WSTest?

Windows Server 2008 with the .NET Framework 3.5 significantly outperforms IBM WebSphere 6.1 running on Red Hat Linux Advanced Platform 5, by up to 94% (in terms of Web Service requests process per second).

Q. Since both benchmarks implement Web Services, is there interoperability between the .NET and WebSphere/Java implementations?

Yes, the .NET StockTrader Windows Communication Foundation services can seamlessly invoke the middle tier Java/WebSphere services, as well as the Java Server Pages application can seamlessly invoke and use the backend .NET services, with no code changes to either published application. The front end .NET StockTrader ASP.NET Web application can be mixed and matched with either the .NET middle tier, or the Java/WebSphere middle tier, and the Trade 6.1 front-end JSP application can seamlessly work with either the WebSphere/EJB middle tier, or the .NET middle tier.  The .NET StockTrader download on MSDN also includes a Windows Presentation Foundation smart client that can seamlessly work with either .NET or WebSphere middle tier services.

Likewise, the WSTest benchmark can be driven by either Java clients or .NET clients based on Windows Communication Foundation, since both platforms support the latest industry standard Web Services specifications.  Both benchmarks highlight seamless interoperability between middle tier services, and between front-end to middle tier interactions in mixed .NET/Java environments.

clip_image001[5]

Contacts/Resources

· Application Platform Field Portal - http://AppPlat

· Microsoft’s SOA Home Page – http://www.microsoft.com/soa

· Microsoft’s BPM Home Page – http://www.microsoft.com/bpm

· Microsoft’s .NET Framework Home Page - http://www.microsoft.com/net/

· Microsoft’s Windows Server Home Page - http://www.microsoft.com/windowsserver2008/en/us/default.aspx

Microsoft’s Case Study Home Page – http://www.microsoft.com/casestudies