JP2012527707A - アプリケーションのコンポーネントをバージョン管理するシステム、方法及びコンピュータプログラムプロダクト - Google Patents
アプリケーションのコンポーネントをバージョン管理するシステム、方法及びコンピュータプログラムプロダクト Download PDFInfo
- Publication number
- JP2012527707A JP2012527707A JP2012512073A JP2012512073A JP2012527707A JP 2012527707 A JP2012527707 A JP 2012527707A JP 2012512073 A JP2012512073 A JP 2012512073A JP 2012512073 A JP2012512073 A JP 2012512073A JP 2012527707 A JP2012527707 A JP 2012527707A
- Authority
- JP
- Japan
- Prior art keywords
- application
- version
- code
- component
- program product
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000004590 computer program Methods 0.000 title claims description 24
- 230000004044 response Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 abstract description 10
- 230000008520 organization Effects 0.000 description 24
- 238000012545 processing Methods 0.000 description 23
- 238000011161 development Methods 0.000 description 16
- 238000013500 data storage Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 12
- 238000009434 installation Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000005056 cell body Anatomy 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
Description
アプリケーションのコンポーネントをバージョン管理(versioning)するシステム及び方法が提供される。
[表1]
1.要求のヘッダで指定されたバージョンを識別する。
2.呼び出しコードの初期設定バージョン設定で指定されたバージョンを識別する。
3.バージョンを未指定(呼び出しコードに関連するテナントによりインストールされた最新のバージョン)として識別する。
[表2]
1.要求のヘッダで指定されたバージョンを識別する。
2.エンドポイントURLで指定されたバージョンを識別する。
3.呼び出しコードの初期設定バージョン設定で指定されたバージョンを識別する。
3.バージョンを未指定として識別する。
[表3]
1.明示的な参照:コードは、他のインストールされたアプリケーションからスキーマ(schema)又はコードを明示的に参照する。これらの参照は、コンパイル時に検出されてもよい。Apexテストは、スキーマ又はコードに依存し、常に合格しなければならない。
2.明示として動作する動的なApex:明示的な参照の変わりに動的なApex(dynamic Apex)を使用するコードである。参照されるスキーマ/コードの範囲は有限であり、コンパイル時に開発者に知られている。コンパイル時にこれらの依存性を検出しない。テストは動的を使用して記述されてもよく、常に合格することが想定される。
3.動的なApex:これは、コンパイル時に開発者が参照され得るスキーマの有限集合を知らない真の動的なユースケースである。
[表4]
1.パートナー(すなわち、テナント)が他のパートナーのパッケージ(すなわち、アプリケーション)を拡張する。
パートナーBは、パートナーAのパッケージの機能を拡張している。パートナーBは、開発組織(development org)にパートナーAのパッケージをインストールしている。パートナーBは、基礎のパッケージ(明示的な参照として動作する明示的且つ動的なApex)からのスキーマ及びグローバルクラス/メソッドに依存する。特定の場合には、パートナーBは、パートナーAのパッケージからApexトリガーにより投げかけられた妥当性エラーを取得している。パートナーBのテストは、これらのエラーを予期するように書き込まれる。パートナーAがパッケージに変更を行い、新たなバージョンをプッシュした(出した)場合、パートナーBは、アプリケーションが動作し続けてテストが合格し続けることを予期する。
2.独立ソフトウェアベンダ(ISV:Independent Software Vendor)が検索/置換アプリケーションを構築する。
ISVは、いずれかのオブジェクト(理想的には、ビジネスオブジェクトのみの範囲にある)で検索/置換を実行可能なユーティリティを生成する。このユーティリティは、VisualforceTM及び動的なApexを使用して記述される。このツールを使用する顧客は、いつインストール/生成されたかに拘らず、組織内の全ての標準及びカスタムオブジェクトへのアクセスすることを予期する。これは廃止されるスキーマ(deprecated shema)をも含む。理想的には、これらのオブジェクトの背後のいずれかの動作は、ユーザインタフェース(UI)で経験されるもの(パッケージの最新のバージョン)をエミュレートする。典型的には、顧客及びISVは、ツールがSalesforce.comTM(SFDC)を含む他のパッケージにより新たに追加されたスキーマを使うための如何なる動作も行いたくない。ISVは、新たなデータタイプ等を使うために、SFDCのアプリケーションプログラムインタフェース(API)の後のバージョンにコードをアップデートしなければならないことを認識する。
3.顧客が複数のパッケージを統合する。
顧客は、複数のインストールされたパッケージから様々な他のオブジェクトでデータ操作(DML:data manipulation)を実行するApexトリガーを生成する。顧客が何のオブジェクトを参照しているかを認識していても、顧客は、依然として動的なApexを有するコードを要求する。この理由は、これが最も快適であるからである。パッケージの様々な公開者がスキーマを廃止して動作を変更したとしても、顧客はコードが動作し続けることを予期する。
[表6]
・アップグレード不可能なコンポーネント
開発者及び加入者(すなわち、ユーザ)の双方は、自由に変更を行ってもよく、削除してもよい。開発者は、リリースされた後にパッケージからコンポーネントを除去するために、コンポーネントを削除しなければならない。開発者は、削除状態でリリースされるまで、パッケージの詳細集版(detail page up)からコンポーネントを削除できない。
・アップグレード可能なコンポーネント
開発者及び加入者の双方は、リリースされた後にこれらのコンポーネントを削除できない。開発者は、コンポーネントをアップデートし続けることができる。コンポーネントの開発者により制御されたアトリビュートの値は、加入者の組織(organization)においてアップデートされる。他のアトリビュートはアップデートされない。
・保護されたコンポーネント
カスタムラベル及びワークフロー動作のように、アップグレード可能なコンポーネントの小さい部分が存在する。これらはアップグレード可能なコンポーネントと同様に動作する。加入者は、組織内でこれらのコンポーネントを見ることができるが、参照することはできない。このことにより、開発者はいつでもこれらのコンポーネントを削除することが可能になる。開発者は、コンポーネントが削除状態でリリースされるまで、パッケージの詳細集版からコンポーネントを削除できない。管理されてリリースされたパッケージでアップロードされ、そのパッケージのバージョンが既存の加入者の組織にインストールされた場合、削除されたコンポーネントは、加入者の組織から除去される。
・パブリック/プライベートApexクラス/トリガー
パブリック又はプライベートのアクセス装飾子を有するいずれかのapexクラスは、保護されたコンポーネントと同様に削除可能である。このコンポーネントは、開発者の組織から“削除”されない。これは依然としてUIに現れる。状態のみが削除として印を付けられる。加入者が削除されたコードを有するアップグレードを受領すると、これらの組織から除去される。
[表7]
・コンポーネントが生成される。
・コンポーネントがパッケージに追加される。
・コンポーネントがベータとしてアップロードされる。管理上の制限は、開発組織(dev org)に強制されない。コンポーネントの開発名は変更できない。開発者はパッケージからコンポーネントを除去できる。
・コンポーネントがリリースとしてアップロードされる。管理上の制限が強制される。開発者はパッケージからコンポーネントを除去できない。可能な場合に、パッケージから除去するコンポーネントを削除しなければならない。
・コンポーネントがパッケージから廃止/削除される。
[表8]
・中核のスキーマ
パートナー(すなわち、開発者)は、アプリケーションで積極的に使用されるフィールド(すなわち、好機の段階)を廃止したいと思う。おそらく、異なるデータタイプの新たなフィールドで置換しているか、これを複数のフィールドに分離している。アップグレード時に、データをスキーマに移行するアップグレードスクリプトを実行する。後方互換性のために、廃止されたフィールドへの入力を扱うトリガーを追加する。
フィールドが廃止された後に、パートナーは、既存の顧客(例えば、ユーザ)にフィールドの使用を中止するように促したいと思う。加入者がフィールド(ワークフロー、承認処理等)への新たな参照を生成することを妨げたいと思う。レポート、電子メールテンプレート等のような柔軟な参照は、除去時に体裁良く劣化する限り、大丈夫である。新たな顧客は、廃止されたフィールドを決して受領しない。完全な世界では、フィールドは、全ての加入者について直ちに削除される。これは可能ではないため、パートナーは、既存の顧客のために後方互換性を維持する猶予期間を提供したいと思う。その時点の後に、全ての顧客の組織からフィールドの除去を強制したいと思う。その時点で、アプリケーションの全ての参照を除去し、その形跡からフィールドを完全に削除する。
・中核でないスキーマ
パートナーは、将来的にオブジェクトを拡張する可能性があるという概念により、オブジェクトをアプリケーションに追加する(所有物で我々のことを考えてみると、大きい工場であるがほとんど配送しない)。パートナーが市場でその立場を見つけると、これらのオブジェクトがその製品にもはや意味を持たないことを発見する。パートナーはこのスキーマを前進的に除去したいと思うが、既存の顧客にとって、他のようにオブジェクトを使用可能にし続けるべきである。
この場合、廃止は全く異なる意味を有する。既存の顧客は他のスキーマのようにこれらを使用可能にするべきである。パートナーは既存の顧客の組織からスキーマを削除することを意図しない。パートナーの目的は、新たな顧客がスキーマを受領することを妨げることである。パートナーはまた、スキーマをその開発形跡から除去したいと思う。
・テンプレートのスキーマ
パートナーは、アプリケーションで数個のテンプレートオブジェクト/フィールドを提供したいと思う。これらをアップグレードする計画はない。これらは単なるテンプレートである。これらは100%加入者により制御される。将来の或る時点で、パートナーは、もはやこのスキーマをアプリケーションの一部にしたくないと判断する。この場合、新たな顧客は、このスキーマを受領しない。既存の顧客は、削除する用意ができるまで、このスキーマを使用可能にし続ける。パートナーは、その開発環境でスキーマを削除する。
[表9]
中核のスキーマ:
1.開発者がオブジェクト/フィールドを廃止する。
2.加入者が廃止されるスキーマを有するアプリケーションのバージョンにアップグレードする。
3.開発者は、廃止されるスキーマを有するバージョンが9ヶ月で寿命となる(削除される)という通知を次のアップグレードでリリースする。
4.全ての顧客の全ての組織の最低条件は、廃止されたバージョンより大きい。
5.拡張がEOLバージョンに依存する場合に起こり得る状態
○拡張は、寿命の日まで機能し続ける。
中核でないスキーマ:
1.開発者は、既存の加入者がスキーマを制御することを可能にしたいと思う。
2.加入者は、サブ制御のスキーマを有するアプリケーションのバージョンにアップグレードする。
3.開発者は、その開発組織からスキーマを除去し、新たなインストールを受領することを妨げたいと思う。
4.拡張がサブ制御のスキーマに依存する場合に起こり得る状態
○既存の顧客は大丈夫である。
テンプレートのスキーマ:
1.開発者は、常に加入者により制御される新たなスキーマを取り入れる。
2.加入者はサブ制御のスキーマを有するアプリケーションのバージョンをインストール/アップグレードする。
3.開発者はその開発組織からスキーマを除去し、新たなインストールを受領することを妨げたいと思う。
4.拡張はこの種類のスキーマを参照しなくてもよい。
[表10]
・オブジェクトのカスタムタブ
・中核の参照としてのオブジェクトを有するレポート
・最上位レベルのオブジェクトとしてのオブジェクトを有するカスタムのレポートタイプ
・オブジェクトのフィールド
・オブジェクトの確認ルール
・オブジェクトのページレイアウト
・オブジェクトのリストビュー
・オブジェクトのカスタムボタン/リンク
・オブジェクトのApex共有理由/再計算(recalc)
・オブジェクトのトリガー
・オブジェクトの記録タイプ
・オブジェクトのタブスタイル又は標準コントローラを使用したVFページ
・オブジェクトのワークフロールール
・オブジェクトのワークフローのフィールドアップデート
・オブジェクトのワークフローの外部メッセージ
・オブジェクトのワークフローの警告
・オブジェクトのワークフローのタスク
・どこでオブジェクトが対象となっているかの分析スナップショット
選択肢として、以下の加入者制御のコンポーネントは、存在し続けてもよいが、削除を反映するためにアップデートされる必要があってもよい。
(1)中核でないオブジェクト(マスター詳細レポートにおける詳細なオブジェクト)としてのオブジェクトを有するレポート
(2)中核のオブジェクトとして使用されないオブジェクトを有するカスタムレポートタイプ
フィールドを廃止する場合、表11に示す以下のものが、例えば、同じアップロードで廃止される必要があってもよい。
[表11]
・カスタムレポートタイプ(参照フィールドの除去により、レポートタイプが廃止される)。
・ワークフローのフィールドアップデート(異なるオブジェクトを示すために交差オブジェクト(cross object)がアップデートされてもよい)。
(1)レポート
(2)リストビュー
(3)ページレイアウト
コードが廃止の指示を使用したapexを含む場合、管理されていないアプリケーションのアップロードは妨げられてもよい。
[表12]
●Apexコード/VF/VF電子メールテンプレート
○クラス/トリガー/ページ/コンポーネントにバージョン情報を設定する機能
○加入者/開発者のプロトタイプモードでのバージョン情報の閲覧
○“削除”されたapexコード/vf(無関係のアイテム)を隠すことの検討
●API
○エンタープライズWSDLの生成のためのバージョン情報の選択
○エンタープライズ及びパートナーWSDLのバージョン情報の初期設定の設定
●フィールド/オブジェクト
○加入者におけるバージョン範囲情報の提示(例えば、バージョン1.2.0〜3.5.0が利用可能、バージョン3.0.0〜現在のものが利用可能、コンポーネントが廃止されていることの提示)
○コンポーネントを廃止する場合、開発者におけるコンポーネントが使用されている全ての場所の列挙。廃止は、確認ページのボタンを通じて生じてもよい。
●設定
○リストから廃止されたコンポーネントの識別
●パッケージのアップロード
○パッケージがSchema.Version又は@deprecatedを使用したapexを含む場合、開発者のブロック。この理由は、これらが管理されていないパッケージにインストールされると、意味を有さない可能性があるからである。
●開発パッケージの詳細ページ
○コンポーネント毎のバージョンの範囲の提示
○コンポーネントが廃止された場合におけるそのリストにおけるその廃止のハイライト
●サブパッケージの詳細ページ
○パッケージの最初にインストールされたバージョン及び現在のバージョンの提示
○現在廃止されているコンポーネントのハイライト
○コンポーネントがどのバージョンで利用可能であるかの列挙
●パッケージのインストール
○拡張パッケージが組織の基礎のパッケージの最低条件より下の廃止されたマスターオブジェクトを参照する場合における拡張パッケージのインストールの回避(詳細は前述の拡張の部分を参照のこと)
<システム概要>
図4は、オンデマンドデータベースサービスが使用され得る環境410のブロック図を示している。選択肢として、前述の図面の前述の実施例のいずれかは、環境410に関して実装されてもよく、実装されなくてもよい。環境410は、ユーザシステム412と、ネットワーク414と、システム416と、プロセッサシステム417と、アプリケーションプラットフォーム418と、ネットワークインタフェース420と、テナントデータ記憶装置422と、システムデータ記憶装置424と、プログラムコード426と、処理空間428とを含んでもよい。他の実施例では、環境410は、前述の全てのコンポーネントを有さなくてもよく、及び/又は前述のものの代わりに若しくは前述のものに加えて他の要素を有してもよい。
・2002年11月4日に出願された“OFFLINE SIMULATION OF ONLINE SESSION BETWEEN CLIENT AND SERVER”という題のUS2003/0233404
・2003年4月17日に出願された“JAVA OBJECT CACHE SERVER FOR DATABASES”という題のUS2004/0210909(現在は米国特許第7,209,929として発行されている)
・2003年9月23日に出願された“QUERY OPTIMIZATION IN A MULTI-TENANT DATABASE SYSTEM”という題のUS2005/0065925
・2004年4月2日に出願された“CUSTOM ENTITIES AND FIELDS IN A MULTI-TENANT DATABASE SYSTEM”という題のUS2005/0223022
・2004年6月16日に出願された“SOAP-BASED WEB SERVICES IN A MULTI-TENANT DATABASE SYSTEM”という題のUS2005/0283478
・2005年3月8日に出願された“SYSTEMS AND METHODS FOR IMPLEMENTING MULTI-APPLICATION TABS AND TAB SETS”という題のUS2006/0206834、及び/又は
・2007年6月1日に出願された“METHOD AND SYSTEM FOR PUSHING DATA TO A PLURALITY OF DEVICES IN AN ON-DEMAND SERVICE ENVIRONMENT”という題のUS2008/0010243
これらの出願の全内容を援用する。
Claims (21)
- 有形のコンピュータ可読媒体に具現されたコンピュータプログラムプロダクトであって、
呼び出しコードからアプリケーションの少なくとも一部にアクセスする要求を受領するコンピュータコードと、
前記呼び出しコードにより提供されるバージョンを識別するコンピュータコードと、
前記要求に応じて、前記呼び出しコードにより提供されるバージョンに対応する前記アプリケーションのコンポーネントへのアクセスを前記呼び出しコードに与えるコンピュータコードと
を有するコンピュータプログラムプロダクト。 - 前記アプリケーションは、マルチテナント・オンデマンドデータベースサービスを利用して開発又は維持管理されるコンピュータコードを含む、請求項1に記載のコンピュータプログラムプロダクト。
- 前記呼び出しコードは、マルチテナント・オンデマンドデータベースサービスのアプリケーションプログラムインタフェースと、前記マルチテナント・オンデマンドデータベースサービスのユーザインタフェースとのうち1つを含む、請求項1に記載のコンピュータプログラムプロダクト。
- 前記コンピュータプログラムプロダクトは、前記呼び出しコードにより提供されるバージョンが前記要求のヘッダから判定されるように動作可能である、請求項1に記載のコンピュータプログラムプロダクト。
- 前記コンピュータプログラムプロダクトは、前記呼び出しコードにより提供されるバージョンが前記呼び出しコードの開発者に関連する設定により指定された初期設定バージョンから判定されるように動作可能である、請求項1に記載のコンピュータプログラムプロダクト。
- 判定されるバージョンは、未指定のバージョンを含む、請求項1に記載のコンピュータプログラムプロダクト。
- 前記呼び出しコードにより提供されるバージョンに対応する前記アプリケーションのコンポーネントを判定するコンピュータコードを更に有する、請求項1に記載のコンピュータプログラムプロダクト。
- 前記コンピュータプログラムプロダクトは、前記呼び出しコードにより提供されるバージョンに対応する前記アプリケーションのコンポーネントが所定のルールに基づいて判定されるように動作可能である、請求項7に記載のコンピュータプログラムプロダクト。
- 前記所定のルールは、前記呼び出しコードの種類に特有である、請求項8に記載のコンピュータプログラムプロダクト。
- 前記呼び出しコードの種類は、アプリケーションプログラムインタフェースとユーザインタフェースとのうち1つを含む、請求項9に記載のコンピュータプログラムプロダクト。
- 前記所定のルールは、前記アプリケーションの一部の種類に特有である、請求項8に記載のコンピュータプログラムプロダクト。
- 前記アプリケーションの一部の種類は、マルチテナント・オンデマンドデータベースサービスにより管理される標準コンポーネントと、前記アプリケーションの開発者により生成されたカスタムコンポーネントと、前記アプリケーションの一部としてインストールされたコンポーネントのうち1つを含む、請求項11に記載のコンピュータプログラムプロダクト。
- 前記アプリケーションのコンポーネント毎に、コンポーネントは、当該コンポーネントのバージョンでコメントを付けられる、請求項8に記載のコンピュータプログラムプロダクト。
- 前記所定のルールは、前記呼び出しコードにより提供されるバージョンに対応する前記アプリケーションのコンポーネントが、前記呼び出しコードにより提供されるバージョンに一致するバージョンでそれぞれコメントを付けられた前記アプリケーションのコンポーネントのみを含むことを示す、請求項13に記載のコンピュータプログラムプロダクト。
- 前記所定のルールは、前記呼び出しコードにより提供されるバージョンに対応する前記アプリケーションのコンポーネントが、前記呼び出しコードにより提供されるバージョンに一致するバージョン又はそれ以降のバージョンでそれぞれコメントを付けられた前記アプリケーションのコンポーネントのみを含むことを示す、請求項13に記載のコンピュータプログラムプロダクト。
- 前記コメントは、前記アプリケーションの最低バージョン及び前記アプリケーションの最高バージョンを含み、前記コンポーネントが対応する前記アプリケーションのバージョンの範囲を示す、請求項13に記載のコンピュータプログラムプロダクト。
- 最高バージョンは、前記コンポーネントが廃止されるものとしてアップロードされるときに記録され、前記廃止は、前記開発者が前記コンポーネントを除去することを許可するインジケータを含む、請求項13に記載のコンピュータプログラムプロダクト。
- 前記コンポーネントの廃止は、前記アプリケーションの既存のユーザに直近の変更を取り入れることなく、前記アプリケーションが進展することを許可する、請求項17に記載のコンピュータプログラムプロダクト。
- 呼び出しコードからアプリケーションの少なくとも一部にアクセスする要求を受領し、
前記呼び出しコードにより提供されるバージョンを識別し、
前記要求に応じて、前記呼び出しコードにより提供されるバージョンに対応する前記アプリケーションのコンポーネントへのアクセスを前記呼び出しコードに与えることを有する方法。 - 呼び出しコードからアプリケーションの少なくとも一部にアクセスする要求を受領し、
前記呼び出しコードにより提供されるバージョンを識別し、
前記要求に応じて、前記呼び出しコードにより提供されるバージョンに対応する前記アプリケーションのコンポーネントへのアクセスを前記呼び出しコードに与えるプロセッサを有する装置。 - 伝送媒体上でマルチテナント・データベースシステムで使用されるコードを送信する方法であって、
呼び出しコードからアプリケーションの少なくとも一部にアクセスする要求を受領するコードを送信し、
前記呼び出しコードにより提供されるバージョンを識別するコードを送信し、
前記要求に応じて、前記呼び出しコードにより提供されるバージョンに対応する前記アプリケーションのコンポーネントへのアクセスを前記呼び出しコードに与えるコードを送信することを有する方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18036809P | 2009-05-21 | 2009-05-21 | |
US61/180,368 | 2009-05-21 | ||
US12/784,668 US8510729B2 (en) | 2009-05-21 | 2010-05-21 | System, method and computer program product for versioning and deprecation of components of an application |
PCT/US2010/035843 WO2010135696A1 (en) | 2009-05-21 | 2010-05-21 | System, method and computer program product for versioning components of an application |
US12/784,668 | 2010-05-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012527707A true JP2012527707A (ja) | 2012-11-08 |
JP5730290B2 JP5730290B2 (ja) | 2015-06-10 |
Family
ID=43125415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012512073A Active JP5730290B2 (ja) | 2009-05-21 | 2010-05-21 | アプリケーションのコンポーネントをバージョン管理するシステム、方法及びコンピュータプログラムプロダクト |
Country Status (4)
Country | Link |
---|---|
US (1) | US8510729B2 (ja) |
EP (1) | EP2433200B1 (ja) |
JP (1) | JP5730290B2 (ja) |
WO (1) | WO2010135696A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014182813A (ja) * | 2013-03-16 | 2014-09-29 | Intel Corp | 命令エミュレーションプロセッサ、方法、およびシステム |
US9703562B2 (en) | 2013-03-16 | 2017-07-11 | Intel Corporation | Instruction emulation processors, methods, and systems |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117225B1 (en) | 2008-01-18 | 2012-02-14 | Boadin Technology, LLC | Drill-down system, method, and computer program product for focusing a search |
US8117242B1 (en) | 2008-01-18 | 2012-02-14 | Boadin Technology, LLC | System, method, and computer program product for performing a search in conjunction with use of an online application |
US8073590B1 (en) | 2008-08-22 | 2011-12-06 | Boadin Technology, LLC | System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly |
US8078397B1 (en) | 2008-08-22 | 2011-12-13 | Boadin Technology, LLC | System, method, and computer program product for social networking utilizing a vehicular assembly |
US8190692B1 (en) | 2008-08-22 | 2012-05-29 | Boadin Technology, LLC | Location-based messaging system, method, and computer program product |
US8265862B1 (en) | 2008-08-22 | 2012-09-11 | Boadin Technology, LLC | System, method, and computer program product for communicating location-related information |
US8131458B1 (en) | 2008-08-22 | 2012-03-06 | Boadin Technology, LLC | System, method, and computer program product for instant messaging utilizing a vehicular assembly |
US8555248B2 (en) * | 2009-12-16 | 2013-10-08 | Sap Ag | Business object change management using release status codes |
US10089119B2 (en) | 2009-12-18 | 2018-10-02 | Microsoft Technology Licensing, Llc | API namespace virtualization |
US9015733B2 (en) | 2012-08-31 | 2015-04-21 | Facebook, Inc. | API version testing based on query schema |
US8549359B2 (en) | 2010-05-12 | 2013-10-01 | Salesforce.Com, Inc. | Method and system for identifying errors in code |
KR101383691B1 (ko) * | 2010-10-25 | 2014-04-09 | 한국전자통신연구원 | 무선 메쉬 네트워크에서의 협력적 무선 펌웨어 업데이트 장치 및 방법 |
US8972934B2 (en) * | 2010-12-20 | 2015-03-03 | Sap Ag | Support for temporally asynchronous interface extensions |
US10324946B2 (en) | 2011-06-23 | 2019-06-18 | Salesforce.Com Inc. | Methods and systems for caching data shared between organizations in a multi-tenant database system |
US8869114B2 (en) * | 2011-07-18 | 2014-10-21 | Salesforce.Com, Inc. | Mechanism for facilitating customized data overriding for software programs in an on-demand services environment |
JP5773787B2 (ja) * | 2011-07-21 | 2015-09-02 | キヤノン株式会社 | 情報処理装置およびその制御方法およびプログラム |
US8776094B2 (en) | 2011-08-11 | 2014-07-08 | Microsoft Corporation | Runtime system |
US8914422B2 (en) | 2011-08-19 | 2014-12-16 | Salesforce.Com, Inc. | Methods and systems for designing and building a schema in an on-demand services environment |
US8695021B2 (en) | 2011-08-31 | 2014-04-08 | Microsoft Corporation | Projecting native application programming interfaces of an operating system into other programming languages |
SG11201403582PA (en) * | 2011-12-26 | 2014-10-30 | Tencent Tech Shenzhen Co Ltd | Method and Apparatus for Upgrading a Plug-in Based on anInstant Messaging Application |
US9509571B1 (en) * | 2012-07-25 | 2016-11-29 | NetSuite Inc. | First-class component extensions for multi-tenant environments |
US9646028B2 (en) | 2012-08-31 | 2017-05-09 | Facebook, Inc. | Graph query logic |
US9495403B2 (en) * | 2012-09-14 | 2016-11-15 | Salesforce.Com, Inc. | Method and system for cleaning data in a customer relationship management system |
US9342298B2 (en) * | 2013-03-14 | 2016-05-17 | Microsoft Technology Licensing, Llc | Application compatibility checking in a distributed computing environment |
US9830146B2 (en) | 2013-06-07 | 2017-11-28 | Microsoft Technology Licensing, Llc | API lifecycle platform and version management |
US10423992B2 (en) | 2013-06-13 | 2019-09-24 | Microsoft Technology Licensing, Llc | Method, system, and medium for event based versioning and visibility for content releases |
US9692808B2 (en) * | 2014-01-24 | 2017-06-27 | Adobe Systems Incorporated | Code path directives for controlling in-app experiences |
CN103984582B (zh) * | 2014-06-04 | 2017-05-31 | 网易(杭州)网络有限公司 | 一种热更新方法和装置 |
US10635504B2 (en) | 2014-10-16 | 2020-04-28 | Microsoft Technology Licensing, Llc | API versioning independent of product releases |
US9417869B2 (en) | 2014-11-10 | 2016-08-16 | International Business Machines Corporation | Visualizing a congruency of versions of an application across phases of a release pipeline |
US9519468B2 (en) * | 2015-02-13 | 2016-12-13 | Oracle International Corporation | Modular co-versioning in a dynamically linked runtime environment |
US10447812B2 (en) * | 2015-06-05 | 2019-10-15 | Apple Inc. | On demand resources |
US10031747B2 (en) * | 2015-12-15 | 2018-07-24 | Impetus Technologies, Inc. | System and method for registration of a custom component in a distributed computing pipeline |
US10620935B2 (en) | 2018-01-31 | 2020-04-14 | Salesforce.Com, Inc. | Version management automation and consistent application builds for different target systems |
US11443067B2 (en) | 2018-01-31 | 2022-09-13 | Salesforce.Com, Inc. | Restricting access and edit permissions of metadata |
US10503496B2 (en) | 2018-02-02 | 2019-12-10 | Bank Of America Corporation | Smart tool for enterprise-wide version control of codes during software integration and deployment |
US10467121B2 (en) | 2018-02-02 | 2019-11-05 | Bank Of America Corporation | Smart tool for enterprise-wide software integration and deployment |
US10474556B2 (en) * | 2018-02-20 | 2019-11-12 | Bank Of America Corporation | Multiple ruleset version scanning, warning and correction tool |
CN109032662B (zh) * | 2018-06-19 | 2021-03-23 | 未鲲(上海)科技服务有限公司 | 代码文件生成方法、装置、计算机设备和存储介质 |
KR102116813B1 (ko) | 2018-06-22 | 2020-05-29 | 주식회사 티맥스 소프트 | 분산 환경 시스템에서의 어플리케이션 무중단 배포 시 불필요한 리소스 인식 및 해제 방안 |
US11106448B2 (en) * | 2018-08-14 | 2021-08-31 | Red Hal Israel, Ltd. | Management of updates to externally managed libraries |
US11023227B2 (en) * | 2019-08-27 | 2021-06-01 | Sap Se | Time-dependent activation of configuration content |
US11228518B2 (en) * | 2020-01-22 | 2022-01-18 | Dell Products, L.P. | Systems and methods for extended support of deprecated products |
US11354118B2 (en) | 2020-06-05 | 2022-06-07 | Cross Vista, Inc. | Version control system |
US11294664B2 (en) | 2020-06-05 | 2022-04-05 | CrossVista, Inc. | Version control system |
US11570261B1 (en) * | 2020-06-26 | 2023-01-31 | Amazon Technologies, Inc. | Automated deprecation analysis in a service-oriented system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001134454A (ja) * | 1999-09-30 | 2001-05-18 | Internatl Business Mach Corp <Ibm> | コンピューティング環境において構成要素を更新する方法、システムおよび製造品 |
JP2004240988A (ja) * | 1996-06-24 | 2004-08-26 | Fujitsu Ltd | 遠隔保守システム |
JP2004287631A (ja) * | 2003-03-20 | 2004-10-14 | Konami Co Ltd | ダウンロードサービスシステム、端末、指令列の実行方法、ならびに、プログラム |
JP2005222524A (ja) * | 2004-02-05 | 2005-08-18 | Microsoft Corp | 要求側コンポーネントに目標コンポーネントの適切なバージョンへのアクセスを提供する方法 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7698160B2 (en) * | 1999-05-07 | 2010-04-13 | Virtualagility, Inc | System for performing collaborative tasks |
US8095413B1 (en) * | 1999-05-07 | 2012-01-10 | VirtualAgility, Inc. | Processing management information |
JP2001331324A (ja) | 2000-05-19 | 2001-11-30 | Sony Corp | 情報処理方法および装置、ならびに、記録媒体 |
US7140012B2 (en) | 2001-03-09 | 2006-11-21 | Bea Systems, Inc. | Method and apparatus for multi-version updates of application services |
US7178143B2 (en) * | 2001-03-09 | 2007-02-13 | Bea Systems, Inc. | Multi-version hosting of application services |
US20020174193A1 (en) * | 2001-04-30 | 2002-11-21 | Mikhalchuk Andrei Sergeevich | Split client-server software development architecture |
US6981250B1 (en) * | 2001-07-05 | 2005-12-27 | Microsoft Corporation | System and methods for providing versioning of software components in a computer programming language |
US7062650B2 (en) * | 2001-09-28 | 2006-06-13 | Intel Corporation | System and method for verifying integrity of system with multiple components |
US9171049B2 (en) * | 2002-06-13 | 2015-10-27 | Salesforce.Com, Inc. | Offline simulation of online session between client and server |
US7209929B2 (en) | 2003-04-17 | 2007-04-24 | Salesforce.Com, Inc. | Java object cache server for databases |
US7779039B2 (en) | 2004-04-02 | 2010-08-17 | Salesforce.Com, Inc. | Custom entities and fields in a multi-tenant database system |
US7529728B2 (en) * | 2003-09-23 | 2009-05-05 | Salesforce.Com, Inc. | Query optimization in a multi-tenant database system |
US8533229B2 (en) * | 2004-06-16 | 2013-09-10 | Salesforce.Com, Inc. | Soap-based web services in a multi-tenant database system |
US7774366B2 (en) | 2005-03-08 | 2010-08-10 | Salesforce.Com, Inc. | Systems and methods for implementing multi-application tabs and tab sets |
US7523444B2 (en) * | 2005-06-27 | 2009-04-21 | Microsoft Corporation | Managed automation programming model |
US9201939B2 (en) | 2006-06-02 | 2015-12-01 | Salesforce.Com, Inc. | Method and system for pushing data to a plurality of devices in an on-demand service environment |
US8423954B2 (en) * | 2006-03-31 | 2013-04-16 | Sap Ag | Interactive container of development components and solutions |
US8095911B2 (en) * | 2006-03-31 | 2012-01-10 | Sap Ag | Method and system for utilizing development components |
US8601467B2 (en) * | 2006-10-03 | 2013-12-03 | Salesforce.Com, Inc. | Methods and systems for upgrading and installing application packages to an application platform |
DE102006051186A1 (de) * | 2006-10-30 | 2008-05-08 | Siemens Ag | Infrastruktur-Servicearchitektur für Applikationen |
US8082301B2 (en) * | 2006-11-10 | 2011-12-20 | Virtual Agility, Inc. | System for supporting collaborative activity |
US8793676B2 (en) * | 2007-02-15 | 2014-07-29 | Microsoft Corporation | Version-resilient loader for custom code runtimes |
US7720800B2 (en) * | 2007-07-06 | 2010-05-18 | International Business Machines Corporation | Method and approach to hosting versioned web services |
US8799298B2 (en) * | 2007-08-17 | 2014-08-05 | Salesforce.Com, Inc. | On-demand database service system, method, and computer program product for enforcing the inclusion of tests in a developed application |
US8464228B2 (en) * | 2007-08-23 | 2013-06-11 | Accenture Global Services Limited | Binary library |
US8407686B2 (en) * | 2007-09-07 | 2013-03-26 | Ebay Inc. | Method and system for problem notification and processing |
US20090144703A1 (en) * | 2007-11-30 | 2009-06-04 | Vallieswaran Vairavan | Method and system for versioning a software system |
US20090276770A1 (en) * | 2008-04-30 | 2009-11-05 | International Business Machines Corporation | Systems, methods and computer program products for automating packaging and provisioning of j2ee web modules to eclipse-based rich clients |
US8738573B2 (en) * | 2008-05-23 | 2014-05-27 | Microsoft Corporation | Optimistic versioning concurrency scheme for database streams |
US8090681B2 (en) * | 2008-06-26 | 2012-01-03 | Microsoft Corporation | Resolving conflicts in content management systems |
US9256425B2 (en) * | 2008-09-09 | 2016-02-09 | Serena Software, Inc. | Versioning and refactoring of business mashups in on-demand environments |
US8495621B2 (en) * | 2009-06-15 | 2013-07-23 | Microsoft Corporation | Catalog-based software component management |
-
2010
- 2010-05-21 EP EP10778500.8A patent/EP2433200B1/en active Active
- 2010-05-21 US US12/784,668 patent/US8510729B2/en active Active - Reinstated
- 2010-05-21 JP JP2012512073A patent/JP5730290B2/ja active Active
- 2010-05-21 WO PCT/US2010/035843 patent/WO2010135696A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004240988A (ja) * | 1996-06-24 | 2004-08-26 | Fujitsu Ltd | 遠隔保守システム |
JP2001134454A (ja) * | 1999-09-30 | 2001-05-18 | Internatl Business Mach Corp <Ibm> | コンピューティング環境において構成要素を更新する方法、システムおよび製造品 |
JP2004287631A (ja) * | 2003-03-20 | 2004-10-14 | Konami Co Ltd | ダウンロードサービスシステム、端末、指令列の実行方法、ならびに、プログラム |
JP2005222524A (ja) * | 2004-02-05 | 2005-08-18 | Microsoft Corp | 要求側コンポーネントに目標コンポーネントの適切なバージョンへのアクセスを提供する方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014182813A (ja) * | 2013-03-16 | 2014-09-29 | Intel Corp | 命令エミュレーションプロセッサ、方法、およびシステム |
US9703562B2 (en) | 2013-03-16 | 2017-07-11 | Intel Corporation | Instruction emulation processors, methods, and systems |
Also Published As
Publication number | Publication date |
---|---|
EP2433200A1 (en) | 2012-03-28 |
WO2010135696A1 (en) | 2010-11-25 |
US20100299663A1 (en) | 2010-11-25 |
US8510729B2 (en) | 2013-08-13 |
EP2433200A4 (en) | 2013-04-24 |
EP2433200B1 (en) | 2020-02-26 |
JP5730290B2 (ja) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5730290B2 (ja) | アプリケーションのコンポーネントをバージョン管理するシステム、方法及びコンピュータプログラムプロダクト | |
US10481903B2 (en) | On-demand database service system, method, and computer program product for validating a developed application | |
JP5323246B2 (ja) | 複数の組織体のためにデータ及びオブジェクトを保存するマルチテナントデータベース環境においてアプリケーションを共有する方法 | |
US8793291B2 (en) | System, method and computer program product for deploying an update between environments of a multi-tenant on-demand database system | |
KR102008037B1 (ko) | 분산형 애플리케이션 객체에 대한 업데이트 통지를 제공하는 기법 | |
US8732663B2 (en) | System, method and computer program product for providing automated testing by utilizing a preconfigured point of entry in a test or by converting a test to a predefined format | |
US8930933B2 (en) | System, method and computer program product for associating a plurality of stored elements with a creation of a patch | |
US9098365B2 (en) | System, method and computer program product for conditionally enabling an installation aspect | |
TW200839614A (en) | Universal schema for representing management policy | |
US20180013794A1 (en) | System, method and computer program product for sharing content via links | |
US11119749B2 (en) | Architectures and techniques for record protection and field management | |
US20120143837A1 (en) | Methods and systems for loose coupling between triggers and entities | |
US20190026392A1 (en) | Techniques and architectures for providing references to custom metametadata in declarative validations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130109 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150216 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150310 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150407 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5730290 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |