Contenu connexe Similaire à Apexコアデベロッパーセミナー070726 配布用 (20) Apexコアデベロッパーセミナー070726 配布用5. Apex プラットフォームの特徴:マルチテナント型アーキテクチャ 企業 A 企業 B 企業 C Salesforce 組織 A Salesforce 組織 B Salesforce 組織 C ユーザ 管理者 ユーザ 管理者 ユーザ 管理者 企業 A 企業 B 企業 C Salesforce 組織 A Salesforce 組織 B Salesforce 組織 C 申し込んだ企業にそれぞれ仮想的なデータベースインスタンス( Salesforce 組織)が割り与えられる データベースのスキーマ(テーブル構成)やレコード情報はそれぞれの企業ごとにプライベートに隔離 7. Apex アプリケーションの分類 Salesforce 上ですべて動作するアプリケーション 外部の Web サイトから API を介して連携するアプリケーション Salesforce ネイティブ オンデマンド 連携 クライアント 連携 クライアント端末やイントラネットから API を介して連携するアプリケーション 11. 標準データモデルの関連図(抜粋) Owner CreatedBy LastModifiedBy Who/What Tasks/Events/ OpenActivities/ActivityHistories Account Opportunities Contacts Account ※ 詳細は Appendix を参照 取引先責任者 Contact 取引先 Account 商談 Opportunity ユーザ User ToDo Task 行動 Event 19. Apex API のメソッド種類 convertLead, merge, process SFDC 処理 getServerTimestamp, getUserInfo, setPassword, resetPassword ユーティリティ describeGlobal, describeSObject, describeLayout, describeTabs, describeSoftphoneLayout 定義情報 getUpdated, getDeleted 同期 create, update, delete, upsert, undelete データ処理 query, queryMore, retrieve, search, queryAll 検索 login ログイン メソッド名 メソッド種類 26. カスタムオブジェクトでの問い合わせの例 部署 Department__c Department__r Employees__r Manager__r Workers__r SELECT Name, Hiredate__c FROM Employee__c WHERE Department__r.Name = ‘ 営業部’ SELECT Name, Salary__c FROM Employee__c WHERE Manager__c = ‘ a0270000003lVks ’ SELECT Name, Location__c, (SELECT Name FROM Employees__r) FROM Department__c WHERE Name = ‘ 営業部’ 従業員 Employee__c 34. S コントロール + AJAX Toolkit のアーキテクチャ 4. AJAX による API リクエストの送信 AJAX Toolkit S コントロール Apex API Salesforce データベース 1. S コントロール内の HTML+JavaScript を ダウンロード Web ブラウザ ユーザ 2.スクリプトの実行&描画処理 5.検索、更新 などの DB 処理 3.ユーザ操作などのイベント 6.画面の再描画 標準オブジェクト & カスタムオブジェクト 35. 例) Hello World <html> <head> <script type="text/javascript" src="/soap/ajax/9.0/connection.js"></script> <script type="text/javascript"> window.onload = function() { document.body.innerHTML = '<H1>Hello, ' + sforce.connection.getUserInfo() .userFullName + '</H1>'; } </script> </head> <body></body> </html> 36. 例) 取引先を検索、テーブルで一覧表示 <html> <head> <script type="text/javascript" src="/soap/ajax/9.0/connection.js"></script> <script type="text/javascript"> function queryAccount() { var searchStr = document.getElementById('searchStr').value; var accounts = sforce.connection.query( "SELECT Id, Name FROM Account WHERE Name LIKE '%"+searchStr+"%'" ) .getArray('records'); var html = '<table border="1">'; for (var i=0; i<accounts.length; i++) { html += '<tr><td>'+accounts[i].Id+'</td>'+ ' <td>'+accounts[i].Name+'</td>'+ '</tr>'; } html += '</table>'; document.getElementById('output').innerHTML = html; } </script> </head> <body> <input type="text" id="searchStr"> <input type="button" value=" 検索 " onclick="queryAccount()"> <div id="output"></div> </body> </html>