前の記事< ish >次の記事
2006年02月15日

MCP 70-320 for MCAD MCSD 受験体験記

はてなブックマークに追加  delicious_s.gif  このエントリをlivedoorクリップに追加

 先日70-316受験体験記を書いたばかりですが、続いて70-320 Developing XML Web Services and Server Components with Microsoft Visual C# .NET and the Microsoft .NET Frameworkも受験、合格してきました。
MCP 70-320 for MCAD MCSD 受験体験記

 70-320もかなり楽な試験でした。
 今回の試験対策はほぼクラムメディアの70-320とMSDNのみ。試験範囲が70-316ともかぶっているので、最初に一つパスしてしまうと結構楽です。
 70-316同様、純粋な試験対策はクラムメディアだけで良いと思うのですが、問題を解いてわからないところをキチンと調べなければ当然ながら身になりません。テストだけ通っても面白くないですから。

 70-320の試験範囲は以下のようにアナウンスされています。

Microsoft Windows サービス、サービスド コンポーネント、.NET リモーティング オブジェクト、および XML Web サービスの作成と管理
データの使用および操作
テストおよびデバッグ
Windows サービス、サービスド コンポーネント、.NET リモーティング オブジェクト、および XML Web サービスの展開

 このうち「データの使用および操作」(ADO.NET)と「テストおよびデバッグ」については、SOAP拡張に関するポイント以外70-316の知識で対応できます。大抵の人が70-316か70-315を受けてから70-320に進むと思うので、そのあたりは大丈夫でしょう。しつこいですが、ADO.NETについては『プログラミングMicrosoft ADO.NET』がホントおススメ。

 問題はWindowsサービス、サービスドコンポーネント、.NETリモーティング、XML Webサービスと、サービス関係ですね。70-320はサービスづくし。
 正直.NETリモーティングなどはまったく触ったこともなかったので、一から調べて勉強しました。例によってMSDNをぐるぐる、COM+関係などは知らないことイッパイで収穫大でした。
 どれについてもMSDNをちゃんと調べれば情報があるのですが、書籍は適当なのがあまりないですね。『プログラミングXML』八章の.NETリモーティングについての記述はわかりやすく、特にイベントのリモート処理についてはこの本でよく理解できたのですが、それだけのために買うにはちょっと高すぎです(XMLやSOAP全般について深く知りたいならおススメ)。
 なんとなく思いつきで、文系ライクにものすごいおおざっぱなマトメなどをメモしておきます。

.NET リモーティング
 まず、アクティヴェートの仕方は三種類。

1 シングルコール(メソッド呼び出しごとにactivate)
2 シングルトン(サーバサイドで唯一のインスタンスを維持)
3 クライアントアクティヴェート(クライアントごとにインスタンス)

 1と2はサーバ・アクティヴェート。3のポイントはもちろんインスタンスの解放ですよね。

 実装のパターン。

[サーバオブジェクト]
MarshalByRefObjectを継承し、受け渡される(よそから利用される)クラスを定義。

[サーバアプリケーション]
リモート処理システム。自作でもIISでもOKだけれど、IISは当然httpのみ。

・自作
1 チャネルの作成
e.g.
TcpChannnel chan=new TcpChannel(8085);
2 チャネルの登録
e.g.
ChannelServices.RegisterChannel(chan);
3 オブジェクトの登録
e.g.
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(サーバオブジェクト),名前,WellKnownObjectMode.SingleCall);

サーバアクティヴェートのときはWellKnownObjectModeをSingleCallかSingletonに。
クライアントアクティヴェートのときはRegisterActivatedServiceTypeメソッド。

3については構成ファイルに書いてRemotingConfiguration.Configure("構成ファイル");でもOK。

・IISでホスト
サーバオブジェクトのweb.configに、
<application>
 <service>
  <wellknown mode="SingleCall",type="型,アセンブリ",objectUri="URIのエンドポイント">
とか書いておく。

[クライアント]
1 チャネルの作成
2 チャネルの登録
3 アクティヴェート
e.g.
myRemoteClass obj=(myRemoteClass)Activator.GetObject(
typeof(サーバオブジェクト),"URI");
あるいは
RemotingConfiguration.Configure("構成ファイル");
で構成ファイルから設定。


 と、この調子でまとめようかと思ったのですが、長くなりそうなのでそのうちまた。
 ノートしておいたのをざざーっと書いたのでスペルとか間違ってたらすいません。
 とりあえずクラムメディアをやってMSDNをぐるぐるすれば試験対策的には万全です。

関連記事:
MCP 70-316 for MCAD MCSD 受験体験記
CCNA受験体験記

はてなブックマークに追加  delicious_s.gif  このエントリをlivedoorクリップに追加 FC2ブックマーク ニフティクリップ Yahoo!ブックマーク .

カテゴリ:文学部情報処理科 <この記事を気に入って頂けたら、同カテゴリの過去ログを参照してみてください
よろしければクリックしてください>人文blogランキング  ランキングオンライン にほんブログ村ブログランキング


MCP 70-320 for MCAD MCSD 受験体験記

« 散歩、有酸素運動、kabu | ish☆手作りスキンケア・サイボーグ | 美容液材料 イソフラボン液 またまた買いました »

コメント

サイン・インを確認しました、 . さん。コメントしてください。 (サイン・アウト)

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


情報を登録する?