30. Web サービス Interoperability Java アプリケーション .NET アプリケーション Web アプリケーション Web アプリケーション Java Server Pages Web Service Client Web Service Client Web Service Interface Web Service Interface Microsoft .NET 3.5 IBM WebSphere Java EE Enterprise Java Beans C# Middle Tier Components JDBC Oracle
31. .NET のスマート クライアント .NET スマート クライアント Web サービス Interoperability Web Service クライアント Web Service Interface Web Service Interface Microsoft .NET 3.5 IBM WebSphere Java EE Enterprise Java Beans C# Middle Tier Components JDBC Oracle
32. PHP Web アプリケーション Apache Axis2/C Web サービス Interoperability Web Service クライアント Web Service Interface Microsoft .NET 3.5 C# Middle Tier Components
33. .NET サービス層 WS-* Advanced Web Services による Message-level Security Web Service Interoperability Service to Service Interoperability WS-* Interface WS-* Interface WS-* Interface .NET OrderProcessing Service PHP Order Processing Service Java Order Processing Service .NET C# WCF Service WSO2 Web Services Framework for PHP WSO2 Web Services Application Server ADO.NET Data Access PHP Data Access JDBC Data Access 他の RDBMs
.NET の話に入り込む前に、まずはアプリケーションの形態の変化について少しだけ触れさせて下さい。クライアント上で個別に動作するアプリケーションに始まり、ビジネス面においてはクライアント・サーバーのアプリケーションや、ブラウザー アプリケーション。近年においてはスマート クライアントだけにとどまらず、Rich Interactive/Internet Application(RIA) やモバイル アプリケーション… ここには載せていませんが、バーチャル アプリケーション (仮想化されたアプリケーション) そして将来的にはクラウドのアプリケーションと言う風に、同じアプリケーションでありながらも、色んなプラットフォーム上で動作する必要性がでてきています。要は、時代の流れとともに、アプリケーションにはフレキシビリティ・柔軟性が求められるようになっています。ここでは、上に「単一のフレームワークで様々な環境に対応」と書いてありますが、これは何をさすかと言うと、.NET と言う共通のアプリケーション基盤と、Visual Studio と言う開発ツールで .NET 用のアプリケーションを開発することにより、今現在あるニーズと今後のニーズと言ったところにも対応していくことが可能になるように、マイクロソフトは構想をしてきています…と言うことです。マイクロソフトのテクノロジで言うと VB。他のテクノロジで言うとそれは JAVA であったり、Flash であったり、PHP であったり…各プラットフォーム (環境) に合わせて作る。.NET を活用することで、All Platform を通してアプリケーションが活用できる。A secure, reliable, high-performance development framework that enables developers to easily reuse skills and assets across cloud, web, desktop, server and devicesProvides developers with higher levels of abstraction, thus allowing them to focus on the business logicIncreasing developer productivity while preserving compatibility are the key drivers of every .NET release
今の.NETPillars堅牢性 (けんろうせい).NET は強力で、これまでになく高い安全性を備えているため、信頼性と拡張性の高いソリューションをビルド、テストおよび配置するのに役立ちます。これは、アプリケーション レベルの話ですね。→ 前のセッションにおいて、パスワードのお話もありましたね。これは、OS レベルの制御・管理であり、Active Directory や Active Directory の Federated Service などを活用することや、Organization Unit(OU) レベルでのグループ ポリシーをなどを活用してセキュリティを万全にします。一貫性.NET は、包括的で接続型の開発フレームワークを提供することにより、好みのプログラミング言語で、ソフトウェア、サービス、デバイスを問わず、希望する方法で機能するアプリケーションをビルドできるようにします。魅力.NET では、開発者の着想を、すばやく、エンドユーザーの生産性を高めるのに役立つ、機能豊富で応答性の高いアプリケーションとして実現できるようにすることで、優れたユーザー エクスペリエンスを構築できます。(new .NET pillars)One Set of Skills: クライアント、ブラウザ、サーバー、モバイル、クラウドといった複数のプラットフォームをターゲットとしたアプリケーションの開発を実現します (マイクロソフトのプラットフォームとして、マイクロソフトのアプリケーションもそのように構成されているため、弊社の製品を拡張するにおいても、それが容易になります)Speed to Solution: 問題を直すことに時間を要するのではなく、あるべきソリューションを開発できるように… 決して無駄ではないことであっても、時間を割くところをソリューションに向けて…Interoperability: マイクロソフトの技術だけに特化せず、マイクロソフト以外のテクノロジやツールとのインテグレーションを実現します。このフレキシビリティがあるからこそ、Non-Microsoft なアプリケーションの拡張も、.NET の上で実現することが更に簡単にできます。
On the left you can see Trade 6.1 running in an “all-Java” configuration, where each tier is implemented in Java running in a J2EE application server such as WebSphere.On the right you can see the .NET StockTrader, running in an “all-.NET” configuration, with each tier implemented in .NET.However, because both WebSphere and .NET StockTrader expose their services as industry standard Web Services, each front end application (JSP and ASP.NET) can access the business service layer and hence data access technology of the other platform. This is bi-directional interoperability based on open standards. On the .NET side, WCF is driving both the service definitions on the middle tier, as well as the ASP.NET client operations against the remote services. On the WebSphere side, Apache/Axis as integrated within WebSphere drive the service interactions.
As a service-based application, any user interface tier based on the industry-standard WS-* protocols can plug in. .NET StockTrader 2.0 ships with a Windows Presentation Foundation Smart Client application that illustrates this as an alternative to a Web-based UI. It can work with both .NET and Java EE middle tiers.
WSO2 has also created a PHP implementation of the front-end, which uses the WSO2 Web Services Framework for PHP to connect to any available middle tier (business services); on either .NET, PHP or Java. The WS02 Web Services Framework for PHP supports a full range of WS-* standards, for advanced interoperability scenarios including full message security between .NET and PHP-based services.
.NET StockTrader also now includes a demonstration of interoperability over Advanced Web Services (WS-*) standards. WS02 has published both a PHP and Java-based implementation of the Order Processing Service. .NET StockTrader Business Services can be configured, using WS-* for message-level security (both service and client X.509 certificates) to work with any of these implementations; using the same WCF client class, since WCF supports these advanced industry standards out-of-the-box. WS02 is an open-source base group, and you can download their PHP and Java StockTrader components from http://wso2.org/interop/stocktrader
Abstracts code from the operating system it is running onEnables the code to run in a managed environment, relieving the developer from the need to worry about things such as:Memory managementThread managementException handlingGarbage collectionSecurity
Prior releases of new .NET Framework could have created versioning difficulties for developers with existing code.NET Framework 4 introduces a new concept that easily solves the versioning concerns
CLR 4 enables in-process side-by-side executionEasily combine existing development assets from previous versions with new ones, running under the same host processSaves time and money by running existing code along with new code, no need to invest in time in handling versioning compatibilityIn-process side-by-side hosting enables an application to load and activate multiple versions of the common language runtime (CLR) in the same processOlder components continue to use the same CLR version, and new components use the new CLR versionFor example, you can run applications that are based on the .NET Framework 2.0 SP1 and applications that are based on .NET Framework 4 Beta 1 in the same process