プログラミング生放送勉強会#23
Salesforce
~いつもとちょっと違う クラウドプログラミング~
2013.06.22@nara_reimei
1.Salesforceの良いところ
①必要な物がひと通り揃っている ・DB ・フレームワーク(Web、Ajax) ・IDE ・ワークフロー ・権限管理 ・チャート(グラフ)
②無償学習環境が提供されている ・Developerforce
2.3つのプラットフォーム
①Force.com ・CRMアプリ+設定による構築
②Site.com ・CMS
③Visualforce.com ・Apex(Class)+ML(Page) 今日はこれの話をします。
3.サンドボックス
本番環境とは別に開発検証用に3種類のサンドボックスが提供されている。
①開発者サンドボックス ・開発担当者一人ひとりに向けて 提供するもの。データは最大10MB
②設定のみサンドボックス ・定義は本番同様。データは500MB
3.サンドボックス
③フルサンドボックス ・本番環境のフルコピー ・大量データを使うシステムはここで 本番と同じデータ量で検証する! そうしないと後述のガバナ制限で 殺られること請け合い!
作成可能な個数はエディションによって決まる。追加購入も可能。
4.開発環境
①オンライン(ブラウザ)<Pros> ・お手軽どこからでも利用できる ・開発者コンソール便利 SOQL、対話的プログラミング ユニットテスト<Cons> ・全般遅い ・500ステップ越えてくる特に遅い
4.開発環境
①オンライン(ブラウザ)
4.開発環境
②Force.com IDE(Eclipse)<Pros> ・まあ使い慣れた感じ<Cons> ・インストールが上手くいかない ・同期作業などが必要 ・情報が少ない ・Eclipse別途Subversionなどでバージョン管理するならこれを使うことになる。
4.開発環境
②Force.com IDE(Eclipse)
4.開発環境
自分の場合は コーディング :SublimeText2 同期(ビルド):Eclipse
5.開発環境(データ編)
①オンライン ・エンドユーザ向けの一覧、単票 形式での編集のみ
②Eclipse ・よく解らない
③DataLoader(Javaアプリ) ・CSVベースで一括CRUDする。 ・テストデータほおり込むならこれ。
5.開発環境(データ編)
①オンライン
6.ガバナ制限
1つのタスクがリソースを消費し過ぎないよう、多様な制約が設けられている。例えば1リクエストについて ・SOQLクエリ発行数 100 ・DML発行数 150 ・取得可能な総レコード数 50000 (Min/Max実施時の母集団数にも適用される)
・実行可能ステップ数 20万 ・コレクションの要素数 1000
※最新の値は確認してね。
7.ユーザライセンス
エディション/ライセンスにより色々制限がある。
エンドユーザ向けの「One App」は利用できるカスタムオブジェクト(開発者が新たに作成するDBでいうところのテーブル)は
5つのみ。
7.データベース
①RDBに非ず ・オブジェクト関係データベース
②特徴 ・結合はない。 静的に関係を定義する。 OOのモデルと同じ。 ・SQLでなくSOQL。 ・インデックスもない(御幣あり)
7.データベース
<結合の補足>参照関係:OOの参照と同じ主従関係:コンポジション
8.データーベース(SOQL編)
①結合(参照) ・参照項目を定義することで参照
select name,age__c, dept__r.bname from emplyee__c または select name,age__c, (select bname from dept) from emplyee__c
8.データーベース(SOQL編)
②RDBでいう副問い合わせはない ・①の参照関係に従った親もしくは 子の参照のみ
③SELECT文中で計算式かけない ・[ダメ]select sales*1.05 form xx
9.デバッグ
ログは20件までしか保持されれない。(1件=1リクエスト分。20件保持した時点で記録が停止する。)
バッチジョブが連続的に動くような場合に最初に20件しか無くて困る。開発者コンソールから直接クラスを実行すると、その分のログはその場で閲覧できる。ちょっとお得テク!
10.リリース
①開発作業はサンドボックスでのみ可能 ・本番環境では「開発」操作できない
②単体テストカバレッジ75%以上 ・単体テストの仕組みがある ・総体で75%を超えないと本番へ リリース作業できない
※70%以上だったかも※何度も実施していると数字がおかしくなる。そんな時は一度カバレッジ結果のクリアを行うこと!
10.リリース
③リリース時全てのテストが本番で 再実行される ・オールグリーン(※) ・カバレッジ75%以上 で合格!
※今のお客様の場合60-90分かかる。 緊急対応は不可能!!! 回避方法なし!!!!!!!!!!
11.各種資格
各種資格が用意されている。情報が少ないのでセミナー受講(またはその資料)が望ましい。
資格取得後は、Salesforceの定期バージョンアップをフォローするためのリリース試験に合格することで維持していく仕組み。受験申し込みにはリリース試験(2回)分の費用が含まれる。それ以降は有償となる。
プログラミング生放送勉強会#23
お疲れ様でした
m(_ _)m