まえに、OSC2010 Tokyo/Springまとめを書いて、「あとで、詳しく書く予定」と書いたものについて
まずは、SugarCRM。
■SugarCRMの発表-前半
SugarCRMの発表は、大きく2つ。
・SugerCRMの機能
・SugarCRMをCRMとは関係なく、アプリケーション開発フレームワークとして使う方法について
で、この発表の資料は、ここのツイートによると、「資料、Googleグループ(sugarforumjp)に上げました!」とあるけど、実際には、GoogleのSugarforum.jpは、メンバーにならないとアクセスできないようなので(一般のhttp://sugarforum.jp/とは違う)、普通の人が見れるものではない(メンバーに、普通の人がなれるのか・・・は、よくしらない??)
発表のはじめのほうは、機能説明をサイクリックスの人がやっていたけど、OSCのあの限られた時間で、機能の概要を説明しようという暴挙に出たため、当然時間が押してしまった・・・わりによくわかんない(^_^;)
こーいうときは、ユースケースを絞って、はじめから流す
リード(潜在顧客)→展示会の宣伝→顧客になる→商談→その状況確認
など、一連のストーリーを作って説明しないと、たぶん間に合わない。
■SugarCRMの発表-後半
で、そんなこんなで、はじめに時間を取られてしまったため、あとの肝心の話ができていなかった。
はじめの話では、SugarCRMとセールスフォースの違いは分からない。
この違いは、SugarCRMでは、CRMと全く関係ない業務アプリが作れ(たぶん、セールスフォースでもここまではできる)、データをクラウド上でなく、自社にもつため、そのデータをAccessやExcelとODBC接続により、つなげることができるということだ(=つまり、SugerCRMのデータをもとに、Accessから帳票出力できる)。
そこで、まず、「SugarCRMでは、CRMと全く関係ない業務アプリが作れるよ」ということを説明する必要がある。そこまでは説明できていたけど、そこで止まってしまった。もったいない・・・
■SugarCRMの発表-言えてなかった大事なこと
説明できていなかったうち、大切なことはは、
「SugarCRMでは、CRMと全く関係ない業務アプリが作れるよ」
なぜ?
モジュールビルダーで、
・自分の好きなモジュール(=RDBでいう、テーブルやビューと考えてください)が作れて
・その操作画面がある程度カスタマイズして作れる。
(=Accessのフォームウィザードみたいな感じ)
そして、スタジオを使うと、
・SugarCRMのモジュールを全部表示させないで
・自分の作ったモジュールだけを表示できる
この2つの操作をやると、結局
自分の好きなモジュール(=テーブルやビュー)を簡単に作って(プログラム不要)
そのモジュールの表示画面を作って
それだけを表示できる
=SugarCRMでは、CRMと全く関係ない業務アプリが作れるよ
ということになる。
ただ、この場合、画面に制約を受ける(「モジュールの表示画面」は、ノンプログラムで作れるが、その分、制約がある)
ということ、はっきりとは言っていなかった気がする。
■発表より先-カスタマイズの仕方
で、さらにその先。
もし、プログラムに手を入れてしまうと、その部分、バージョンアップしたらどうなるんだ?という話が出てくるが、SugarCRMの場合、「ノンプログラム」で、かなりの部分ができてしまう。
システムは
・定型業務
・非定型業務
・DBマスタ管理
・検索等情報収集
があるけど、DBのテーブル作成、マスタ管理作成は、モジュールビルダーでできる。
検索等に関しては、SugarCRM自体で、そのような機能を持っているが、ODBC接続することにより、AccessやExcelでグラフ表示、統計処理、帳票出力ができる(Linuxしか使いたくないなら、Pentahoを使えばいいけど、Pentahoだと、うまくいかない部分がある。これは、今度書く)
つまり、残りの定型業務だ・・・
■ノンプログラム+Flash=デザイナーさんがシステム全部作れる
この定型業務に関しては、しかし、5.5でRESTに対応するのであれば、
Flashから、操作できる可能性がある。
つまり、Flashでプログラムはするけど、プログラマは必要なく、
デザイナーさんが、
SugarCRM+Excel&Access+Flash
で、すべての業務が作れる可能性が出てきたわけだ
■発表の補足
発表中、シート76枚目、「表サイトとSugarの連携方法」で
表(おもて)サイトとSugarと連携させる方法
パターン1:DBのデータだけ参照
パターン2:同一サーバーでSugerのビューとして
パターン3:SOAP/RESTでアクセス
「要件にあわせて、最適なものを選択」とあるけど、どう選択するのかについて、言ってなかったと思うので、そこを「勝手に」補足(発表者の@cognitomさんは、こーいうつもりで言ってないかも??)。
まず、SugarCRMにデータを追加する場合、システムを通さないと(=パターン2、3でないと)追加した場合のIDの振り方が良く分からないので、追加できません(不自然なIDになってしまう)。
そこで、パターン1は、追加がない、はっきり言うと、SugarCRMのデータを下に、BI,OLAPを行うような、分析、グラフ表示などに向いています。ODBC経由で、Excel,Accessによって、表示したり、帳票作ったりするのがこれです。
追加などを行う場合、スタジオとかを駆使して、ノンプログラミングでいけるのであれば、パターン2のビューのほうがいいです。もちろん、追加がなくても、ノンプログラミングでいけるのであれば、パターン2が向いています。
追加を行い、画面が全く違い、ノンプログラミングが難しいなら、パターン3のほうが向いています。
SugarCRMに修正を加えることもできますが、SugerCRMのバージョン4から5への大幅変更も考えられます。
このとき、ノンプログラミングであれば、バージョンアップにも対応できるでしょうが、大きくプログラムを修正して変更を行ってしまうと、このようなメジャーバージョンアップに対応できる保障がなくなりますし、そもそも、Sugar内部を解析しないといけなくなります。
それなら、SOAPやRESTを使ったほうがいいということになります。
まとめると、こんなかんじ
・ノンプログラミングでいけそう→パターン2を考える
・プログラム必要→追加は、ない→パターン1:DBを参照
→ODBCを使えば、Access、Excelも
追加あり→パターン3:SOAP、RESTでの結合
注意:
・昔、無償版には、トランザクション処理が入っていなくて、すべてオートコミットだった
(たしか、有償版には入っている)。
トランザクション処理が必要な場合は、ここ注意!
ま、とはいえ、数年前は、OSC開催中に、(もちろん別の場所で)SugarCRMの説明会などがあったくらいなので(そのときは、OSCを途中で切り上げなければならなかった (;_;) それからすれば、OSCにでてきただけで、SugarCRM、オープンソースよりになってきたといえる。
以上、ほうこくおわり