プログラミング生放送勉強会#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

プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング