セールスフォースの豆知識2.0

セールスフォースの開発に役立つTipsをメインに、セールスフォースの新機能や関連ニュースなどをお届けします。

DreamforceのBreakout Sessionsを聞いて

こんにちは、金森です。

Dreamforce、終わってしまいました!あっと言う間でしたー!!

出発直前はServerless Confの運営お手伝いをさせていただいており、もう色々お腹いっぱいですが、

少しずつ消化しながら、アウトプットもしていきたいと思います。

と言うことで、帰国前にまず一本!!

Breakout Sessionsを聞いたんです

Dreamforceはブースもとても多いですが、セッションもとても多いです。

その数、なんと今年は2700+!!

はい、正直、何聞けば良いかわかりませんでした、多すぎwww

 

とはいえ、マーク・ベニオフ氏の基調講演とプロダクトごとに新発表などが行われるKeynoteは外せません。

そこを中心にブース回る時間を考えながら、Breakout Sessionsや各シアターのセッションを見ていく形になります。

 

そう、Keynoteは外せないんです!!

外せないんですが、、、今回私は途中からKeynoteは諸先輩方にお任せして、

Breakout Sessionsという、日本のイベントなどでもよくある感じな技術セッションを中心に参加して来ました。

 

なぜって、、、?それはね

Breakout Sessionsがとても面白かったから

に決まってるじゃないですか!!

 (わがままを許してくれた先輩方に感謝です!!)

 

ということで、今回は聞いて回ったBreakout Sessionsから面白かったものをいくつかご紹介したいと思いますー

 

Scripting DX

f:id:kanamori_flect:20171110184204j:plain

 

SalesforceDXとCLIにgulpとTravis CIを組み合わせて、Salesforceでの開発でCIを回すお話です。

Github上で変更内容をPRすると、Travis CIが自動的にテストを実行してPRに結果が反映されます。

 

これぞまさにDXが実現したかったDeveloper Experienceの向上!!

「通常の開発では当たり前」と言ってしまえばそれまでですが、

今までできなかったことが実現できたのは事実です。

 

それにプラットフォーム上で動くプログラムをScratch Orgsという形で、

実際のプラットフォームとほぼ同等の環境でテストできるって実はすごいことじゃない?とも思ったりしました。

(なんでコンテナが嬉しかったのかって話ともつながりますよね)

 

DXの使い方のとても良いサンプルを見せていただきました。

デモのコードはここで公開されており、実際にデモの時のPRも見ることができます。

https://github.com/leboff/scriptingdx-dreamhouse

 

Microservice Architectures With Sales and Service Cloud

f:id:kanamori_flect:20171110185901j:plain

 

なぜ、マイクロサービスが必要になるのか、マイクロサービスのメリットは何かのお話の後、

Salesforceでいかにマイクロサービスを実現することができるか、が語られていました。

 

発表者曰く「Salesforce自体は、モノリシックである」とのこと。(それはそうですね)

しかし、

  • マイクロサービスとして提供されたサービスを利用すること
  • マイクロサービスとしてREST APIを提供すること

はできる、とお話しされていました。

f:id:kanamori_flect:20171110190737j:plain

 

その上で、ApexでのRESTの実装方法のTipsなどを紹介されていました。

マイクロサービスの構成要素としてSalesforceを活用する考え方にはハッとさせられました。

また、「Platform Events」ができたことにより非同期メッセージングが利用できるのもマイクロサービスへの推進力になりますね!

最終日の「Microservice Based Architecture Using Platform Events」も聴きたかったのですが聞けず残念!!

スライド公開が待ち遠しいです!

 

Unit Testing for Lightning Components

f:id:kanamori_flect:20171110191247j:plain

Lightning Componentのテストのお話です。

UIのテストはテストピラミッドの中で一番コストが高くなってしまいます。

Lightning Componentは今までUIのテストでしたが、単体テストができるようになるよ!とのお話です。

 

具体的には「Lightning Testing Service」を利用します。

https://github.com/forcedotcom/LightningTestingService

 

セッションではこちらを使ってJasmineのテストを動かしていました。

弊社でも最近Lightning Componentを利用する案件が増えているので、

ぜひ実案件でも利用していきたいですね!

 

まとめと感想

今回は私が気に入ったセッションをざっくり紹介させていただきました。

でもまだまだ紹介したいセッションもありますし、

今回紹介したセッションも実際に試して、もっと詳しい内容をお届けできればと思っています。

 

今回、Breakout Sessionで感じたことは「CI」はもちろん、

「マイクロサービス」「非同期メッセージング」などの比較的新しめ技術タームが

すでにアメリカでは当たり前になっているのだ、ということです。

 

さらにそれをSalesforceでの開発に適用している事例はとても刺激的でした。

これらは比較的自由度の高い、AWSなどのパブリッククラウド系の開発のプラクティスとして考えていましたが、

Salesforceでの開発でもこれらの考え方を活かしていけるとさらに面白いことができそうです。

色々と試したいことができてうずうずしてしまいますね!

おまけ:こんなこともありました

初日の最初の朝8:00からのセッションでは会場の火災報知器がなって会場から全員避難するということも。。。

その後は無事開催されていたので、何かのミスだったのかと思いますが、貴重な体験になりました(笑)

(でも中止になったセッションは面白そうだったので聴きたかった,,,)