2022/04/21

Salesforceで利用できる開発言語・Apexでfacetを利用する方法をご紹介

 
  

SalesforceのApexとは?またfacetの利用は?

Salesforceは、Apexというプログラミング言語を利用することでカスタマイズが行えますが、Apex内の一メソッドとして「facet」が利用できます。今回はApexで利用できる「facet」の機能についてご紹介します。 Salesforceは、SFA(営業支援)とCRM(顧客関係管理)という営業やマーケティング活動に欠かせない機能を持ったサービスです。Salesforceはサービスを導入するだけで元々備わっている機能をフルに活用できますが、それぞれをカスタマイズして利用することもできます。 業務を遂行する方法やルールは企業によって千差万別のため、導入状態にした時のままで利用していると「もっとこうしたら便利になるのに」という改善点がそれぞれに出てきます。Salesforceは一部がオープンソースとなっていて、各企業に適した状態へとカスタマイズができます。

Apexの概要

Salesforceをカスタマイズするのに必要なものの一つがApexです。PHPやJavaなどと同様プログラミング言語の一つで、Salesforce.com社が開発しました。主にSalesforceサーバー内で利用されるオブジェクト指向型の言語です。 オブジェクト指向型というだけあり、Javaに近い言語と言われています。開発者向け公式ページのApexの概要にも、一般的にJavaやJava Script、.NET等で行うカスタマイズをSalesforceサーバー内で行えるように用意された言語との説明もあります。 SalesforceはApexを使ってアプリケーションのフォーマットを企業にマッチした状態へとするためのアクションの変更や機能の追加、見た目の変更を細部まで行えます。Apex用の開発環境は「Apex Toolkit for Exlipse」や「Apex Explorer」等が提供されています。

Apexの仕組み

ApexにはJavaと同じようにAPIがあります。APIとは、本来は膨大なコーディングを行わないと動作しないプログラムを、独自に作成しているコード内で呼び出すだけで簡単に利用できる便利で効率的な仕組みです。 APIは「ライブラリ」とも呼ばれ、単体で一つの動作となるプログラムがたくさん格納されています。ライブラリに格納されている一つ一つのプログラムのかたまりは「クラス」と呼ばれます。クラスの中にさらに「メソッド」という具体的な動作内容が記述されています。 Javaに似たプログラミング言語であるApexは、基本的に上記のような構成でコーディングを行っていきます。なおApexは言語名であると同時にクラス名でもあります。今回はApexで利用できる機能の一部「facet」の用途と利用方法を取り上げます。

facetの利用について

「facet」はメソッドのような役割をするものの、Apexの言語では単独利用ができません。あくまで親コンポーネントでfacetが定義している場合のみ利用できるようになります。 あまり聴き慣れない英単語のfacetですが、直訳すると「宝石などの小面、物事の面相」とあります。facetによる作用がわからなくても直訳内容から、プログラム内の前提や大枠を決める部分というイメージがつきます。 facetに近いメソッドやライブラリがあるプログラミング言語としては、C++やRuby等があります。Rubyではfacetsというライブラリが用意されていて、facetsにはRubyコードを簡略化する大量なメソッドが含まれていてコーディングをスピードアップさせてくれます。 C++ではlocalクラスを継承したfacetクラスがあり、プログラムを幅広く利用できる役割を持っています。いずれの言語でも、facetは様々なデータの定義付けを最前面で行ったり、インターフェースのように汎用的にする役目をしているところが共通しています。

SalesforceのApexでのfacetの利用方法をご紹介

facetを利用できるコンポーネントの一つとして「data Table」があります。data Tableは1行に一つのデータを格納できるHTMLのテーブルの役割を持っていて、テーブルには10,000個程度までのデータを含むことができます。 facetはテーブルを定義するために欠かせない要素です。以下にdataTable内でfacetを使用した記述例を挙げます。なお記述では「apex:dataTable」となっていますが、これはapexクラス内のdataTableであるとご理解ください。

    
       
            
               Name
                        {!contact.Name}
            
            
                Phone
                        {!contact.Phone}
            
        
    
dataTableのコンポーネントの中ではheader、footer、captionという名前のfacetが準備されています。記述例にはそのうちのheaderが使われて、Name、Phoneと入力されています。この記述がHTMLのように解釈され、画面にはName、Phoneというテキストが表示されます。

SalesforceのApexでfacetを有効活用しよう!

今回ご紹介したfacetは、たくさんあるApex言語のメソッドの中でも重要であり便利な機能の一つです。 Apexは、Salesforce.com社が公式に提供している学習サイト「TRAILHEAD」でも詳しい解説を一部動画付きで確認することができるので、その他のメソッドと合わせてfacetsのより有効な活用方法を探ってみてはいかがでしょうか。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】