こんにちは。ざわかける!のざわ(@zw_kakeru)です。
ServiceNowが提供する様々な機能の中で、ServicePortalとServiceCatalogを使ってトライアル実装をしてみようと思います。
前提条件
本トライアルを実施する際の前提条件は次の通りです。
- ServiceNowアカウントの登録が完了していること。
- 個人開発用インスタンス(PDI)の作成が完了していること。
また、使用するServiceNowのバージョンとしてはQuebec、Romaでの正常動作確認ができています。
実装システムの概要
今回実装してみるのは、お花屋さんのネット注文システムです。
大まかな仕様は次の通りです。
- Webページ(Service Portal)上に商品(お花)を一覧表示する。
- 各商品を選択すると詳細ページに遷移し、注文を行うことができる。
- 注文が行われると管理者に通知が届き、承認/非承認の選択を行う。
- 承認/非承認の状態に応じて、注文処理を行う。
本トライアルでは、表示される商品の登録および注文後の処理フローの実装をメインで行っていきます。
では早速いってみましょう。
Service Managementへアクセス
まず初めにService Management へアクセスしていきます。
ログインしたら『Developer Site』へのボタンをクリックしてください。
『Start Building』のボタンをクリックしてService Managementを起動します。
環境のセットアップ(ボタンが押せるようになるまで)に数分間かかる場合があります。
これでService Managementが開くことができました。
System Administratorでログインできていることを確認してください。
このService Management上で様々な開発や設定を行っていきます。
アプリケーションスコープの設定
開発を始める前にアプリケーションスコープの設定をしておきます。
画面右上の歯車アイコンをクリックして設定画面を開き、リストの中から『Developer』を選択します。
表示された項目の一番上の『Application』を、最もスコープの大きいGlobalに設定しておきます。
また、現在のアプリケーションスコープをすぐに確認/変更できるように、その下の『Show application picker in header』のスイッチをONにしておくことをおススメします。
Service Managementのヘッダーにpickerが表示されればOKです。
Portal Homeの確認
これから作成するFlowerDeliveryシステムが配置されるサイト『Service Portal』を確認しておきましょう。
Service Managementの検索フォームに『portal home』と入力し、Service Portalを開いてください。
開いたService PortalのHomeページ上で『Request Something』を選択します。
ここにデフォルトでもかなり多くの商品が表示されています。
この左側のCategoriesに『Flower』を追加し、お花自体の商品も追加して販売できるようにしていきます。
カテゴリの作成
先述のFlowerカテゴリ、およびもう少し細かい粒度のカテゴリを設定していきます。
Service Managementに戻り、『Maintain Categories』を開きます。
デフォルトで用意されているCategoriesテーブルが表示されるので、一番上の『New』ボタンを押して新規カテゴリを作成します。
Titleに『Flower』を入力し、Catalogに『Service Catalog』を選択して「Submit」します。
Flowerカテゴリが新たに作成されました。
さらに細かいカテゴリも作成するので、確認出来たら再び『New』ボタンを押してください。
Titleを『観葉植物』、Catalogに『Service Catalog』を設定します。
そしてParentに『Flower』を選択してください。(親子関係をつくるためです。)
設定出来たら「Submit」してください。
同様の手順で『ハーブ』『花』カテゴリも作成してください。
完了するとデータベースにそれぞれの項目が追加されていることと思います。
これでカテゴリの登録が完了しました。
Service Portalの画面を確認してみましょう。
画像のように、今新たに作成した『Flower』カテゴリが追加されており、その下にさらに細かいカテゴリとして『ハーブ』『花』『観葉植物』が設定されています。
親子関係もバッチリですね。
(追記:バージョンによっては、後述するCatalog Item(商品)を追加しておかないと(すなわちそのカテゴリに属する商品が0件だと)、カテゴリ自体が表示されない場合があるようです。
現時点で上記のカテゴリが表示されていない場合も、一旦気にせず次の作業を進めてください。)
商品の作成
カテゴリの作成は完了したので、この中に実際の商品を作成していきます。
Service Management側から、先程作成した『観葉植物』カテゴリを開いてください。
(別にどのカテゴリの商品から作成しても良いですが、ここでは例として『観葉植物』から作成していきます。)
画面下部のCatalog Itemタブを確認します。
ここに、このカテゴリに紐づいているCatalog Item(商品)が表示されます。
新規追加を行いたいので『New』してください。
追加する商品の情報を入力します。
最低限『Name』『Short description』『Description』が入力すると分かりやすいかと思います。
例えば、次のような感じです。
Name : もみじ Short description : かえで。 Description : 植物としての漢字は「椛」が正しい。
そして価格設定も行わなければなりません。
Pricingタブを選択して価格(Price)を入力します。
通貨の設定も変更可能ですが、Service Portalで表示される時はデフォルト設定ではUSドルに変換されます。
試しに日本円で1000円に設定してみます。
ここまで完了したら「Submit」してください。
観葉植物のCatalog Itemに『もみじ』が追加されていることかと思います。
同様の手順で、それぞれのカテゴリで商品情報(『Name』『Short description』『Descriptopn』『Price』)を適当に入力していきましょう。
例えば次のような感じです。
Category | Name | Short description | Description | Price |
---|---|---|---|---|
観葉植物 | もみじ | かえで。 | 植物としての漢字は「椛」が正しい。 | ¥1,000 |
観葉植物 | 縄文杉 | 屋久島の杉。 | 屋久島の奥の方に生えている。 | ¥300,000,000 |
花 | アイリス | アヤメ科 | 画像識別DeepLearningの本でよく出てくる。 | ¥500 |
花 | 彼岸花 | ヒガンバナ科 | お墓周辺に生えている。 | ¥1,000 |
ハーブ | バジル | パスタに使える | 暑さに強くて水耕栽培も可能。 | ¥300 |
ハーブ | 竪琴 | 女神様とかが弾いてる | それハープやないか。 | $5,000 |
これで商品の入力が完了しました。
入力された商品に関しては、Service Managementの『Maintain Items』からも確認することができます。
要するに、先程カテゴリ側から入力した商品も結局はこのCatalog Itemデータベースに全て保存されていて、各カテゴリはここからフィルターしたデータを持ってきている、ということですね。
商品の注文
ここまで完成したらもう商品の注文が可能です。
ServicePortalに戻ってみましょう。
今作成した商品情報が正しく表示されていますね。
(価格はドル表示ですが、上の画像とは異なる金額になっているかもしれません。どこかで為替連動しているのかな。)
この画像ではFlowerカテゴリを選択しているため全ての商品が表示されていますが、それぞれの詳細カテゴリを選択することも当然可能です。
ここに商品画像が表示されていたら、デフォルト表示されている他の商品のようにもっと見映えが良さそうですね。今はやりませんけど。
ここから注文をしていきます。例えば『もみじ』を購入してみます。
『もみじ』を選択すると商品の個別ページに遷移し、そこの右側の『Order Now』ボタンをクリックすると注文が可能です。
出てきたダイアログを確認して『Checkout』を押すと注文確定し、完了画面が表示されます。
注文内容は、Service Managementの『Requested Items』データベースに格納されます。
もみじが注文されていることが確認できました!
このように、ServiceNowではデータベースごとに個々でデータを管理しており、それぞれのサービスにおいて、必要となるデータベースからデータを取ってきて連携/処理している、という構成になっています。
終わりに
後編では注文のワークフローを作成し、今回の注文情報と紐づけていきます。
そちらでもまたお会いしましょう。
以上です。