2017.05.23

SkyOnDemandを使った開発風景

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

製品開発部の竹澤です。先週、弊社の売れ筋サービスの1つであるSkyVisualEditorのブログを開始しました。今週から、それに続いてSkyOnDemandでもブログ記事を書いていきます。

SkyOnDemandは弊社が運用するデータ連携のサービスです。製品ジャンルとしてEAIというカテゴリで呼ばれることもあります。また、このサービスはお客様にご利用いただくのはもちろんですが、自社業務にも利用しています。もっと言うとSkyOnDemandサービスを稼働させるプラットフォームの一部にSkyOnDemandを使っているという「ニワトリが先かタマゴが先か」的な面白いことになっています。

さて今回は、SkyOnDemandを自社業務に利用した時の話を一つ紹介します。それを通じて、SkyOnDemandはどういうサービスであるかを知っていただこうと思っています。

Day-0 コトのおこり

弊社のメインのビジネスはSalesforceやAWSといったクラウドの導入支援と、SkyVisualEditorやSkyOnDemandといったクラウドサービスの提供なのですが、それ以外にも他社パッケージ製品の代理店もそこそこの規模でやっています。それらの製品保守をご契約いただいているお客様には、不具合やバージョンアップの情報を代理店である弊社から送る必要があるので、保守契約者様の情報はSalesforceを使ってしっかり管理しています。で、はじめのうちは手作業でメール送付していてもまあ何とかなりました。しかしお客様が増えると手作業はなかなか大変ですし、会社が大きくなると文面レビューのプロセスも追加されたりして、もれなく業務を遂行するにはシステム化が必要になります。

少し前に「クラウドファースト」という言葉がはやりました。弊社でももちろんクラウドファーストなんですが、それに加えて「SkyOnDemandファースト」という雰囲気が社内にあります。何かを実現しようとしたときに、SkyOnDemandで実現できないか、を最初に考えて、それでもダメだったらJavaとかApex(Salesforceのプログラミング言語)でコードを書こう、という考え方です。

やりたいことと実現方法を整理してみると、
(a) 文面を作成して、レビューしてもらう、という要件はSalesforceの機能を使えば実現できそうです。
(b) 配信先を抽出するところは、いくつかのオブジェクト(RDBでいうテーブル)を参照する必要がある要件だったので、SkyOnDemandを使うことにします。こういうデータを抽出したり加工したりするところはSkyOnDemandが得意とするところです。
(c) メールを配信サーバーは将来の配信数を考えるとAWSの一機能であるAmazon SESを利用するのがよさそうです。SkyOnDemandにはSESを呼び出す機能もあるのでちょうど良いです。
ということになります。

Day-1 いざ実装

大型プロジェクトが一段落したとある日に、懸案だった上記課題に取り組むことになりました。だいたい次のような流れとなりました。

(1) 最初にSalesforceの開発環境(Sandboxといいます)で要件を満たすよう画面を作ります。Salesforceでは項目を定義すると画面が自動生成されるので、20分ほどで次のような画面ができあがります。

Salesforceで作成した画面

(2) これをもとに連携の外部設計書とテスト仕様書を作成します。1時間ぐらい。

(3) Amazon SES上で初期設定(メール配信用のアドレス登録など)を行います。15分ほどで終わります。

Amazon SESで送信元メールアドレスを作成

(4) ブラウザからSkyOnDemandにログインしてメインの処理を作ります。弊社の場合、開発環境と本番環境の2つの環境がありますので、開発環境の方で開発をします。作業自体は(2)の外部設計書に沿って、行いたい処理のアイコンを並べていって線でつなぐだけ、という至って簡単な方法です。たとえば、「Salesforceからデータを読み取る」という処理が1つのアイコン、「SESでメールを送る」というのが1つのアイコン、といった感じです。こうやって作ったものをスクリプトと呼んでいるのですが、今回のスクリプトは1時間もあれば完成します。できあがったスクリプトはこんな感じです。

メール送信スクリプト

(5) 最後にテストデータを作成してテストをします。テストデータはあらかじめSalesforceに入れておく必要がありますが、CSVで作ったテストデータをSalesforceに入れる処理にもSkyOnDemandを使います。CSVからSalesforceへデータをロードする処理はたった3つのアイコンでできます。テストには1時間半ほどかかりました。

テストデータをロードするスクリプト

(6) SalesforceのSandboxから本番環境へ移行するために変更セットというSalesforceの機能を使います。同じくSkyOnDemandのスクリプトを開発環境から本番環境へ移行するための移行パッケージを作成する方法がありますのでそれに沿って移行します。移行作業自体は15分もあれば終わります。

この間、レビューやQAチームによるリリース判定などもあるのですが、それらを全部入れても1日(弊社の場合7時間半)もかかりませんでした。おまけに、これを作ったあと「お客様へ送ったのと同じ文面をChatterにも投稿して欲しい」という追加の要望が来ました。この追加要件を実現するために先のスクリプトに追加しなければいけないアイコンはたった2つです。修正も本当に簡単でした。

本日のお話はここまでになります。SkyOnDemandを使った開発が簡単なものだということがご理解いただけましたでしょうか。上に書きましたとおり同じく高い生産性を誇るSalesforceとの相性も抜群です。無料トライアルもご用意していますので、興味を持たれましたら是非チャレンジしていただければと思います。

最後になりますが、SkyOnDemandは定期的にバージョンアップを行っています。バージョンアップによって(お客様は何もしなくても)機能がどんどん増えていきます。これはクラウドサービスならではの特長ですね。つい先日もバージョンアップを行いました。近いうちにメンバーが新機能の紹介をしてくれると思いますので、そちらも楽しみにしていてください。

では、本日はこのへんで。

1 件

関連する記事