Morning Girl

Windows, C#, .NET, Dynamics CRM etc..

【Ruby】【Dynamics 365】【Web API】Ruby からDynamics 365 Web APIに繋げてみる

先々週ぐらいに、お仕事でRubyを使うことがきまったので、個人的勉強がてら、Dynamics 365 OnlineのWeb APIに接続してみた時の記録です。

といってもRubyが初めてだったので、Hello Worldをしつつ、トライしてみました。

認証アプローチは以前にこのBlogで紹介してS2S認証で

kageura.hatenadiary.jp

RubyでもC#に似たHTTP Clientがあるので、基本的にそれを使っています。

今回勉強がてら自力でTokenの取得を組みましたが、ちゃんとしたADALライブラリがあるので、ふつーはそちらを使うのがいいと思います。

github.com

続きを読む

【Network】自宅PCにリモート接続できる環境を構築したい! ポートアドレス変換編

外出先でも、家の高性能なPC環境で作業したい! 家のファイルとかにアクセスしたい! 

なんて欲望を叶えるためにGMOの固定IPを契約して、自宅PCにリモート接続できる環境を整えました。

(まあ、固定IPじゃなくてもDynamics DNSという手もあるにはあるんですけど)

アプローチとしては、VPNで繋ぐ方法がメジャーかと思うんですが

この時まだ家のBaffalo RouterがIPsecに対応していなかったので、取り急ぎポートアドレス変換でRDPポートを外出しする方法を試してみた時の記録です。

ただ、セキュリティ的にあれだなぁと思ったので、すぐにIPsecに対応したBaffalo Routerを買ってやめてしまったんですが、ネットワーク周りのいいお勉強になったので、記録しておきます。

システム構成

システム構成は以下の感じです。

さすがにRDPポートをそのまま晒すのは気が引けたので、50000番台に変更しています。

その変更したポートをRouterのポートマッピングの設定で、ローカルIPアドレスの特定ポートにリダイレクトさせてあげるような感じです。

f:id:sugimomoto:20170903165708p:plain

続きを読む

【Dynamics 365】【勉強会】第5回 JDUC勉強会でDynamics 365 Web APIとの接し方を話しました

第5回 JDUC(Japan Dynamics User Comunity)でDynamics 365 の Web APIについて発表しました。

dynamics.connpass.com

本当はすでにリリースされているはずだった9.0アップデートも踏まえながら、お話する予定だったんですがまだ来ていなかったため、

あまりその辺の内容は盛り込めていないです。

ただ、SOAPエンドポイントの廃止など、色々とDynamics 365 Web API変革の時期なので、

これからDynamics 365 のWeb API使いたいよーという方には、とっかかりとして、全体像がつかみやすい資料にはできたのかなと思います。

発表資料

www.slideshare.net

【Dynamics 365】【勉強会】Web APIって何? とDynamics 365のWeb APIについて

最近、社内でODataとRESTって何が違うの? という質問がありました。

主にDynamics 365 のWeb APIエンドポイントの話なんですが、Dynamics 365のSDKが結構充実しているせいか、あんまりその辺に詳しくなくても、なんとかプログラミングはできてしまいます。

ただ、最近のWeb APIの流れを見ていると、今後避けては通れない部分だろうなーというのと

新人向けにWeb APIとはなんぞや? って、一度話をしておいたほうがいいんじゃないか? というところで、

社内の個人主催勉強会で色々とお話してみました。

発表資料

www.slideshare.net

Web APIとはなんぞや? というところから

昨今のWeb API事情。なぜWeb APIを学ぶべきなのか

その上で、REST・OData・SOAPの違いとDynamics 365のWeb APIはこうゆうことなのね

という流れになっています。

所感

実は個人的に、一番作るのが大変な資料でした。今までで一番資料を多くあたった気がします。色々と引用も重ねました。

やっぱり、ちゃんとプロトコルとして、仕様がどうなってるのか? というところを調べながら作っていたので

あー自分ちゃんと理解していないなー、とか

こんな仕様だったんだ! みたいな発見

それらを資料としてまとめる難しさ、みたいなものを結構感じました。

特にODataは調べていくうちに、Web APIプロトコルとして、とても素晴らしい思想で作られているな、ってことが感じられましたし

SOAPSOAPでレガシーにはなってしまったものの、その設計思想やWSDLという仕組みは、当時の人達がとても工夫しながら作っていたのであろうことが、様々な資料から感じられました

(もちろん、その複雑さが、デファクトスタンダードへの道を閉ざしてしまったのだろうな、というのも感じられましたが)

あと、この発表をしてから見つけたのですが、下の資料がめっちゃわかりやすいです。

やっぱり私自身はWeb APIを使う側が中心なので、Web APIを作る側の人はよりどうあるべきか? という観点を掘り下げているのがいいですねー。

speakerdeck.com

【Dynamcis 365】【勉強会】Interact 2017でDynamics 365 + Azure IoT をテーマに登壇しました

結構今更感あふれるのですが、Interact 2017というイベントで Azure IoT + Dynamics 365 をテーマに登壇してきました。

Interact 2017

主にMS製品(どちらかと言えば、インフラやAzure寄りが強め?)に関する勉強会です。

一日で4種類☓4セッションで合計16種類もある、MS系の個人主催勉強会では、かなり大きめなイベントですね!

interact.connpass.com

発表資料

発表資料は以下のとおりです。

www.slideshare.net

以前にも、Connected Field Serviceではお話していたんですが

今回はDynamics系の勉強会ではなかったので、もうちょっと内容のスコープを広げてDynamics とはなんぞや? と、ビジネス寄りからお話してみました。

あと、前回の勉強会では紹介し切れなかった、MESHとの連携も盛り込んでいます。

(デモが中心なので、資料にはあまり反映されていないですが)

関連資料

kageura.hatenadiary.jp

kageura.hatenadiary.jp

【Dynamics 365】【CData】CData Excel Add-In for Dynamics CRMを使ってみた

最近JDUC(Japan Dynamics User Community)やJWAC(Japan Web API Community)等の勉強会でお世話になっているCDataさんのアドインが思っていた以上に便利(失礼……)だったので、書き留めておきたいと思います。

Cdata Software Japan 公式

https://www.cdata.com/jp/

f:id:sugimomoto:20170521165722p:plain

なお、今回はDynamics 365とExcelの部分に絞っていますが、CDataさんのところでは、Dynamics 365以外のクラウド・オンプレサービスと連携可能なドライバー・ライブラリをたくさん提供しています。

今回のアドインは以下から試用版がダウンロードできますが、他にもSalesForceやKintoneなどの連携アドインが公開されています。

Microsoft Dynamics CRM Drivers - ダウンロード

購入する場合は、各販売パートナー、XLSoftさんなどから行えるみたいですね。

CData Software Japan - Purchase

もうちょっと突っ込んだドライバーなどが知りたい場合は、以下のスライドが参考になりそうかなと。

www.slideshare.net

次回はできればADO.NET周りをやりたいところです。

続きを読む

【Azure】【MESH】【IoT Hub】MESH SDKからREST APIでIoT Hubに温度を送信してみる その2

前回、Azure IoT Hubの作成からSASの取得までを行いました。

今回は構成した情報を元にMESH SDKを用いて、MESHからIoT Hubへのデータ送信までを書いていきます。

MESH SDKの作例は以下を参照してもらえるといいと思います。

MESH SDK Reference Manual

https://meshprj.com/sdk/doc/ja/

(ただ、ちょっと情報不足感。もうちょっと色々と作例を示してほしいところ……。)

続きを読む