Application Platform and .NET

 

と題して、ここ数ヶ月 SQL Server のチームと一緒にセミナーで .NET のお話をしてきました。

 

スライドはこっちにシェアしてみました。

https://www.slideshare.net/tanishi/ss-3238453 

.NET Framework のリリースからは、「今さら聞けない .NET Framework」 などを通して基礎的な話は僕のチームの人たちも多く語ってきていますが・・・
開発者視点の .NET の話が多く、もっと根本的なレベルでの .NET の思想を語ってみようと思ったのがキッカケでして
何故また SQL Server の話のところで .NET の話をしているか?

 

マイクロソフトのアプリケーション基盤として SQL Server が主に上げられる中で、根本には .NET の技術があるからです。
Windows Server 上で動くアプリケーション サーバー (SQL Server も含む) は、皆さんお気付きと思いますが必ず .NET のインストールも同時に要求されます。
SQL Server 以外のアプリケーション サーバーに関しては、SQL Server が必須条件として存在していますね。

 

要は、マイクロソフトのアプリケーション基盤の中枢は SQL Server であるのは事実ですが、その前に .NET Framework があると言うことです。

そんな話をした上で、既存のアプリケーション資産を如何にして .NET の世界に持っていくか・・・
または、如何にして .NET の中で共存するか・・・
そんなお話をしています。

その前にお話することと言えば、アプリケーション自体の形態の変化です。 

PC 上で動くアプリケーションは元々として皆さん認識していると思います。
このページを見ているブラウザもアプリケーションの一種ですね。
それだけではなく、勿論、ブラウザー内で動くアプリケーションもありますし、携帯電話で動くアプリケーションもあります。
更には、サーバー アプリ、そしてここ数年で話題になっているクラウド アプリケーションなどがあります。

.NET のひとつの強みは、一環した開発基盤として存在している為、様々な環境で展開するアプリケーションを統一した言語で開発できるのです。
まぁ、聞き慣れた殺し文句みたいなものですよね・・・ (笑)

そして、先の .NET がマイクロソフトのアプリケーション基盤であると言う話ですが・・・
Windows Server を基盤としているシステムをベースに考えて、当然ながら MS として MS で統一した時の図を表しています。
管理システムとして System Center が右側の柱。
開発、拡張、カスタマイズとして Visual Studio と Expression が左の柱。

データ管理、ビジネス インテリジェンス、データベース エンジン・・・どのアプリケーション サーバーでも必要となるアプリケーション基盤=SQL Server

ビジネス プロセスやビジネス ロジックを制御・管理する BizTalk Server や SharePoint Server

これらを全部繋げているのが .NET なんですね。簡単に言うと、まぁ、それだけなんですが・・・

 

それだけではなく、.NET の当初のコンセプトと言うのは、他テクノロジとの調和。要は、言語や部分的なテクノロジを問わず、「繋げる」こと。
接着剤ですネ。実際、僕は、そのように「糊」とか「接着剤」と言う言葉を使って説明しています。

 

お話の中心はやはり VB 資産をいかにして .NET の世界で活かしていくか・・・
と言うことです。

ここで、簡単に、考え方がいくつかあります。
VB 資産を .NET 化するか否か。これがまず一つですね。
それは、アップグレードかも知れないし、作り直しかも知れません。

カスタム ビジネス バリュー VB 資産の 書き換え VB 資産の .NET への 移行
標準 ビジネス バリュー VB 資産を パッケージ ソフトウェアと 置き換え VB 資産を再利用
  アプリケーション低品質 アプリケーション高品質

 
簡単な検討マトリックスがこのようになります。
どのようなアプリケーションであったら書き換える方がよいのか・・・カスタマイゼーションが多くビジネスで必要とされている要素を多く取り込んでいる、もしくは全てのニーズを満たしている・・・だけど、品質が悪い。どちらにしろ作り直していく必要がある・・・そんな場合は、今を良い機会として、アプリケーションを .NET に書き換えると良いでしょう。

品質の高いアプリケーションであれば、.NET への移行をお勧めしたいと思います。
これは、拡張性を活かしていくことをバックアップしていく・・・そんな感覚です。

マトリックスの下部分は「置き換え」と「再利用」ですね。
置き換えとは、いっそのこと、パッケージソフトウェアで事を済ませれるのであれば、わざわざアプリケーションを作る必要はないですよね? と言うこと。
かなりぶっちゃけですけど、アプリケーションはカスタムでなければいけない訳ではないので・・・ネ。

 

再利用と言うのは、標準企画を活用しているアプリケーションの場合、VB 資産をそのまま .NET のサービス レイヤーを入れれば、既存のものを再利用できると言う考えです。

 

 
分かりやすいのはこんな感じですかね・・・

.NET Framework 2.0
ClickOnce による配布  //  64 bit 環境への対応
.NET Framework 3.5
サポート期限切れの延期  //  最新プラットフォームへの対応
.NET Framework 3.5 SP1
最新テクノロジへの対応  //  アプリケーション起動の高速化

 
利点です。
まんまです。
当然、移行をお勧めします。

 

 

それ以外のお話は、Java の資産や PHP の資産をどのようにマイクロソフトの基盤と共存させるか・・・
もしくは、マイクロソフト技術を使ったアプリケーションを他テクノロジの基盤と共存させるか・・・

いずれも、.NET があればできると言う考えです。

トークでは噛み噛みだった「Interoperability」がこれですね。
カタカナって、本当、難しいです・・・

 

できないことだって、当然あります。
全ては、既存のアプリケーションがどのように作られているかにかかっています。
それでも、標準企画にそっているものであれば、それなりに、既存資産を活用できるんですね。

 

詳細などについては、下記のリンクを辿って、色々と皆さんお調べ下さいませ~~~

 

参考資料

VBマイグレーションセンター
https://www.microsoft.com/japan/msdn/vbasic/migration/

VB マイグレーション Tips
https://msdn.microsoft.com/ja-jp/vbasic/cc707256.aspx

Visual Basic .NET へのアップグレードを円滑に行うための Visual Basic 6.0 アプリケーションの準備
https://msdn.microsoft.com/ja-jp/library/aa260644(VS.60).aspx

MSDN
https://www.microsoft.com/japan/msdn/

Visual Basicデベロッパーセンター
https://www.microsoft.com/japan/msdn/vbasic/

Visual Studioデベロッパーセンター
https://www.microsoft.com/japan/msdn/vstudio/

ASP.NETデベロッパーセンター
https://www.microsoft.com/japan/msdn/asp.net/

スマート クライアントデベロッパー センター
https://www.microsoft.com/japan/msdn/smartclient/

導入事例紹介
https://www.microsoft.com/japan/showcase/