OSC-kansai 2009 EC-CUBE の設計思想 EC-CUBE の設計思想について 2009/7/11( 土 ) 有限会社 Loop AZ 大河内健太郎.

Slides:



Advertisements
Similar presentations
AZUR moodle. Moodle オープンソースの e ラーニングプラットフォーム 一般的には CMS や LMS と呼ばれる Web サイトを管理・更新できるシステム CMS ⇒コンテンツマネジメントシステム LMS ⇒学習管理システム(ラーニングマネジメントシステム)
Advertisements

プロジェクト名称 Inception Deck (Project Charter) 201X.XX.XX.
Internet Explorer 障害解析 最初の一歩 - IE のトラブルを理解する -. 概要 Internet Explorer を使用中に発生するトラブルの 種類と、調査のための切り分け方法を紹介します! (以降は IE と略称で表記します) よくあるお問い合わせ Web ページの表示が白画面のまま完了しない.
TestLink紹介 オープンソースで日本語対応のテスト管理ツール TestLink の紹介. TestLink の概要 フリーで WEB ベースのテスト管理シス テム フリーで WEB ベースのテスト管理シス テム 直観的で使いやすい 直観的で使いやすい 「 TEF 有志による TestLink.
Web アプリケーション開発 ~図書館管理システム~ 北海道情報大学 情報メディア学 部 情報メディア学科 新井山ゼミ 高橋 隼.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
© 2005 株式会社はてな 本資料の一部または全部の無断複製・転載を禁じます prototype.js と Perl で Ajax 株式会社はてな 伊藤 直也
自社システムにおける 最適なフレームワーク 2012/06/15. 条件 機能は「自己評価」、「勤務表」、「掲 示板」、「ログイン機能」を想定 使用するフレームワーク等は全て無料で あるが未来があるものを使用する 作るにあたり最適なフレームワーク、ソ フトを提供する 画面は HTML5 で作成することが前提.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
BBT 大学 Ruby on Rails 開発環境セットアップマニュアル Mac 版 1.1 最終更新日: 2013/1/5.
OWL-Sを用いたWebアプリケーションの検査と生成
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
「図書管理」のための Webアプリケーション開発 -Apache/Tomcat/MySQL/Java on Windows XP-
BBT大学 Ruby on Rails開発環境セットアップマニュアル
IIS 4.0で開発をするコツ Webアプリケーション構築.
4.ユーザー登録マニュアル              Version 年6月10日 国立情報学研究所.
ZKプラグインで、Grailsの Viewをリッチに楽しく
有限会社 はてな 近藤淳也 Shibuya Perl Mongers
WagbyR6.5 Update 14 PPT版 更新情報
株式会社ECナビ システム本部 ECナビラボグループ 春山 征吾
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
第3回参考文献発表 PHP言語 岩永逸平.
ハルビン絵葉書コレクションシステムの再構築と機能追加 -サーバ側:PHPとMySQLを用いて
JPAを利用した RESTful Webサービスの開発
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
Flashプレイヤーを使った動画配信 情報工学科 宮本 崇也.
WEBから確認できる 駐車場管理システムについて
Ruby on Rails 勉強会 11月5日「土」 崔 昌権
WordPressの基礎.
CakePHPを業務に導入する Shin x blog 新原 雅司.
Struts1.xの脆弱性(CVE ) に対するSDEの対処:wrapタイプ (パッチのご提供)
Servlet J2EE I 第8回 /
アプレット (Applet)について.
アルゴリズムとデータ構造1 2007年6月12日
ケータイキット for Smarty のご紹介
吉田和弘 株式会社ミッタシステム Rubyのすすめ 吉田和弘 株式会社ミッタシステム
JavaServlet&JSP入門 01K0018 中村太一.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
F5 を押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
卒研:データベースチーム 第4回 DOMを使った処理
セッション管理 J2EE I 第9回 /
Day3 Day4 Day3 Day4.
JSFによるWebアプリケーション開発 第6回
Day3 Day4 Day3 Day4.
PHPの基礎と開発手法 Based on PHP5
ユーザ毎にカスタマイズ可能な Web アプリケーション用のフレームワークの実装
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
PDF管理Webアプリケーションの制作 ~PDFファイル探索時間の短縮化~
データベース設計 第9回 Webインタフェースの作成(1)
Javaによる Webアプリケーション入門 第9回
第8章 Web技術とセキュリティ   岡本 好未.
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
Javaによる Webアプリケーション入門 第6回
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
Webセキュリティ 情報工学専攻 1年 赤木里騎 P226~241.
     年  月  日 名前 太郎 x 班.
職務経歴書・スキルシート (職種:職種を記載してください).
ミドルウェア”TSUNAGI”を 用いたWEBアプリケーションの構築
プロジェクト管理ソフトの群雄割拠をどうやって勝ち抜くか?②
Javaによる Webアプリケーション入門 第11回
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
Servlet ソフトウェア特論 第7回.
Servlet データベース論 第6回.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Jakarta Struts (1) ソフトウェア特論 第10回.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
第2回 Webサーバ.
Presentation transcript:

OSC-kansai 2009 EC-CUBE の設計思想 EC-CUBE の設計思想について 2009/7/11( 土 ) 有限会社 Loop AZ 大河内健太郎

OSC-kansai 2009 EC-CUBE の設計思想 名前 : 大河内健太郎 (id:nanasess) 年齢 : 32 才 出身 : 愛知県 前職 : 寿司屋の板前を 7 年半 FreeBSD/Mac OS X 使ってます 普段は Java のフレームワーク開発とか Emacs23 のアイコン作りました 自己紹介

OSC-kansai 2009 EC-CUBE の設計思想 EC-CUBE とは 日本発 EC オープンソース 2006 年 9 月 リリース 2006 年 10 月 リリース 2007 年 12 月 – リリース 現在 – Version 2.4.1

OSC-kansai 2009 EC-CUBE の設計思想 EC-CUBE 2.0 の要件 PHP4, PHP5 PostgreSQL7.x, MySQL4.1, MySQL5.x Windows と UNIX 系 OS(IIS と Apache) XHTML1.0 + CSS2 valid UTF-8 error_reporting(E_ALL) 1.x との互換性

OSC-kansai 2009 EC-CUBE の設計思想 EC-CUBE 2.0 の改良点 自動アップデート 複数カテゴリ デザインテンプレート 脆弱性対応 (CSRF な ど) アーキテクチャの大幅な改変

OSC-kansai 2009 EC-CUBE の設計思想 既存フレームワークと EC-CUBE Phrame Ethna CakePHP PHP4, PHP5, PostgreSQL と MySQL に対応しているフレームワーク Struts ベースはイマイチ... Ruby on Rails ベースは規約が多くて使いにくい … 1.x をベースにして自作することに

OSC-kansai 2009 EC-CUBE の設計思想 EC-CUBE2.0 のアーキテクチャ 基本的に 1 ページ 1 クラス LC_Page クラスを基底クラスとし, LC_Page を継承して各ページに使用 直接 Web アクセスされる PHP は, LC_Page を継承したクラスを実行するのみ <?php // {{{ requires require_once("./require.php"); require_once(CLASS_EX_PATH. "page_extends/LC_Page_Index_Ex.php"); // }}} // {{{ generate page $objPage = new LC_Page_Index_Ex(); register_shutdown_function(array($objPage, "destroy")); $objPage->init(); $objPage->process(); ?>

OSC-kansai 2009 EC-CUBE の設計思想 extends EC-CUBE2.0 のアーキテクチャ 自動アップデートに対応するため カスタマイズ時のコンフリクトを避けるため 活かすにはリファクタリングが必要 … 基底クラスを継承する空のクラスを用意 ユーザーは, この空のクラスをカスタマイズする /** * Index のページクラス ( 拡張 ). * * LC_Page_Index をカスタマイズする場合はこのクラスを編集する. */ class LC_Page_Index_Ex extends LC_Page_Index { function init() { parent::init(); } function process() { parent::process(); } function destroy() { parent::destroy(); }

OSC-kansai 2009 EC-CUBE の設計思想 マスタ系のデータを DB に保持しておく リクエストがあると, 動的に定数や配列を 生成 生成したデータのキャッシュ生成 管理画面からデータ編集可能 EC-CUBE2.0 のアーキテクチャ MasterData パラメータ設定 マスタデータ管理 自動アップデートに対応する ため

OSC-kansai 2009 EC-CUBE の設計思想 1. 表示する画面の中に hidden でランダムな ID (トークン)を生成し, 埋め込 んでおく. そのトークンをサーバー側でもセッション内に保持しておく. 2. その画面でサブミットされると, hidden に埋められていたトークンがサー バーに届く. 3. サーバーでは, hidden から届いたトークンと, セッション内に保持してい たトークンを比較し, 一致していれば正しい遷移と判断する. EC-CUBE2.0 のアーキテクチャ トランザクショントークン 二重サブミットの防止 外部からの不正サブミットの防止

OSC-kansai 2009 EC-CUBE の設計思想 init() 主にクラスの初期化を行う process() ビジネスロジックを実行する destroy() 終了時, 自動的に呼ばれる EC-CUBE2.0 のアーキテクチャ LC_Page クラスのライフサイクル

OSC-kansai 2009 EC-CUBE の設計思想 EC-CUBE2.0 のアーキテクチャ LC_Page クラスの関数群 sendRedirect() リダイレクト先 URL に SITE_URL 及び SSL_URL を含むかチェックし, LC_Page::getToken() の値を URL パラメータで自動的に付与する. getLocation() サーバー上の PATH から絶対 URL を取得する getToken() トランザクショントークンを生成し, 取得する. isValidToken() トランザクショントークンの妥当性をチェックする. p() デバック内容を画面に出力する

OSC-kansai 2009 EC-CUBE の設計思想 テスト駆動開発 (test-driven development; TDD) PHPUnit 開発スタイル 活用されてる形跡が無いのが寂しい orz

OSC-kansai 2009 EC-CUBE の設計思想 徹底的にリファクタリング - 特にモバイル プラグイン機能 - 鋭意開発中 共有 SSL HTML テンプレート - Seasar2 の Teeda や Mayaa みたいの i18n 他の DB にも対応 –DB アクセスレイヤーをしっかり分けたい –Chain Of Responsibility EC パッケージの標準仕様策定 EC-CUBE3.0 - 徹底的にモジュール化 今後

OSC-kansai 2009 EC-CUBE の設計思想 開発コミッター募集中!! OSC-Kansai 展示ブースで受付中!!

OSC-kansai 2009 EC-CUBE の設計思想 質疑応答

OSC-kansai 2009 EC-CUBE の設計思想 ご静聴ありがとうございまし た!