SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
sMash(ProjectZero) と「 Reflex 」で構築するお手軽営業支援システム  Virtual Technology 2007/08/22   竹嵜 伸一郎  [email_address]
概要 ,[object Object],<自己紹介は省略>
ソリューション提案 各拠点にある System-i のデータに sMash から動的にアクセスする F/W 拠点 4 拠点 3 拠点 2 拠点 1 sMash Internet ・ 日報入力 ・ 在庫検索 社内  N/W DMZ sMash は 賢い Proxy サーバ データを保管しない F/W XML XML XML XML
sMash Pipes Boundary Control Entity 言語も技術も文化も違うレイアどうしが RESTful に接続するにはスキーマが重要 View Mashup Resource レイヤ: 主な実装技術: レイヤ: 主な実装技術: レイヤ: RESTful 設計では各レイヤが疎結合となり「完全分業」が可能となる お互いに実装の中身がどうなっているのか関知しない XML/JSON XML/JSON AJAX 主な実装技術: System-i
業務システム開発では、 誂え(あつらえ)スキーマでマッシュアップ ,[object Object],[object Object],[object Object]
インスタンスは JSON で OK var    report = {  activity : [             ["07/05","10:00","18:00","JavaScript"," 暑い ","80%"],             ["07/06","10:00","18:00","CSS"," 寒い ","20%"],             ["07/07","10:00","18:00","HTML"," 普通 ","40%"],             ["07/08","10:00","18:00","JSON"," 暖かい ","70%"],             ["07/09","10:00","18:00","Ajax"," 肌寒い ","100%"],             ["07/10","10:00","18:00","JavaScript"," 暑い ","80%"],             ["07/11","10:00","18:00","CSS"," 寒い ","20%"],             ["07/12","10:00","18:00","HTML"," 普通 ","40%"],             ["07/13","10:00","18:00","JSON"," 暖かい ","70%"],             ["07/14","10:00","18:00","Ajax"," 肌寒い ","100%"],             ["07/15","10:00","18:00","JavaScript"," 暑い ","80%"],             ["07/16","10:00","18:00","CSS"," 寒い ","20%"],             ["07/17","10:00","18:00","HTML"," 普通 ","40%"],             ["07/18","10:00","18:00","JSON"," 暖かい ","70%"],             ["07/19","10:00","18:00","Ajax"," 肌寒い ","100%"],             ["07/20","10:00","18:00","JavaScript"," 暑い ","80%"],             ["07/21","10:00","18:00","CSS"," 寒い ","20%"],             ["07/22","10:00","18:00","HTML"," 普通 ","40%"],             ["07/23","10:00","18:00","JSON"," 暖かい ","70%"],             ["07/24","10:00","18:00","Ajax"," 肌寒い ","100%"],             ["07/25","10:00","18:00","JavaScript"," 暑い ","80%"],             ["07/26","10:00","18:00","CSS"," 寒い ","20%"],             ["07/27","10:00","18:00","HTML"," 普通 ","40%"],             ["07/28","10:00","18:00","JSON"," 暖かい ","70%"],             ["07/29","10:00","18:00","Ajax"," 肌寒い ","100%"]             ], assessment       : [" 月の評価 ",                     " よくできました ",             " 2週目評価 ",             " 3週目評価 ",             " 4週目評価 "
スキーマさえ固まれば分業開始できる View Mashup Resource レイヤ: レイヤ: レイヤ: 各レイヤは渡されたインスタンスを元に開発をすすめていく お互いに干渉しない。する必要がない。 AJAX System-i インスタンス インスタンス インスタンス これやるから後は勝手によろしく! ポイ ポイ ポイ
VTEC メソッド( Reflex 設計) ・画面実装 ・単体テスト ・ Resorce モデル設計 ・フローアセンブル ・単体テスト ・ DAO モデル設計 ・ O/R マッピング実装 ・単体テスト ・統合テスト ・システムテスト ・ユースケース図、ユースケース記述 ・分析クラス図、論理ビュー ・画面モックアップ ・エンティティ設計、テーブル設計、インスタンス作成 要件定義 外部設計 内部設計 実装 テスト リリース
<参考>  http://kurashide.com ,[object Object],[object Object],RESTful 設計で EC サイトをわずか4ヶ月で構築 Mashup Resource XML/ JSON View XML/ JSON Flex2 PHP Reflex
[object Object]
sMash のいいところ#1 http://www-06.ibm.com/jp/domino01/mkt/websphere.nsf/doc/002760F2 より
sMash のいいところ#2 WakhokNight Seminar 2007 : Project Zero コース(第 3 回) より抜粋
[object Object]
Reflex 概要 リソースから様々な Reflex (反射像)を取り出すためのフレームワーク  1. リソース志向のフレームワーク  2. 1つのリソースから様々な表現 (HTML,XML,JSON,PDF など ) を取り出せる  3. スケーラビリティを確保できる Node Node Node Node Repository Repository Repository Repository
[object Object],[object Object],[object Object],[object Object],[object Object],ResourceOperator ResourceLocator resource ResourceMapper ResourceViewer Reflex Topology
[object Object],[object Object],[object Object],[object Object],[object Object],Entity(Java Objects) De-serialize Requester DB Entity(Java Objects) Jetty (HTTP Clients) serialize Reflex iText ResourceMapper O/R Mapping は不要! ダイレクトに DB に格納 Jetty DBUtil DBUtil XML JSON PDF XML JSON ResourceMapper ResourceMapper
Resource Mapper Entity Resource Operator Blogic DBUtil Entity  Generator Resource Locator SQL Source Reflex Component ・・ツール、既存コンポーネント ・・自動生成コンポーネント ・・手で実装 Reflex 表現 CRUD Resource Mapper Entity Resource Operator Blogic DBUtil Resource Locator
[object Object]
今は LL 全盛期 Cool!
Java は劣勢 J2EE Struts LL Fuck!
Groovy 、 Reflex 登場! Cool! ん?
でも実は Java なんだよ Powerd by Java
そこで、  Rediscover the Java 3  年。 世界が  Java  の真の実力を発見するのに要した時間である。 2005  年、 LL の台頭により Java は、これまで標準的に使われてきたにもかかわらず、「世界で最も忌み嫌われるプログラミング言語」などと呼ばれもした、ともすれば不遇とすらいい得る歳月を経て、あたりのそこここに満ち充ちていた 「 Web  世界の無秩序と混乱から脱却したい」という思いによって、ふたたびして表舞台に招来された。 Java  は、 Web  の「あちら側」と「こちら側」とを取り結ぶ、もっとも古くてもっとも新しい、そして、もっとも重要な技術だ。次の  3  年を自らの手で創り出すために、我々は  Shibuya.groovy  を結成した。 うそです
まじめに Java のいいところ F/W 拠点 4 拠点 3 拠点 2 拠点 1 sMash Internet ・ 日報入力 ・ 在庫検索 社内  N/W 安全・安心・堅牢な Java で エンタープライズシステムとデータをしっかり守る DMZ sMash は 賢い Proxy サーバ データを保管しない F/W XML XML XML XML
[object Object]
デモシステム構成 System-i Windows ThinkPadX30 Internet IBM @渋谷 NIS @大森 System-i のデータに sMash から動的にアクセスする こんな遅いの使うなよ! ローカル環境 リモート環境
def onRetrieve() {    def userid = request.params.userid[];    def month = request.params.month[];       def server="";       //  ユーザに応じてアクセス先を変える    if (userid=="user1") server = "http://localhost:8083/";     if (userid=="user2") server = "http://localhost:8085/";          //  リソースにアクセスする     def Connection.Response resp =      Connection.doGET(server +"/pmsdemo/jp/reflexworks/pms/model/Report?json&userid=“                                          +userid+"&month="+month);        //  リソースを JSON にする    def body = resp.getResponseBodyAsString();    def respJSON = zero.json.Json.decode(body);    // JSONP で返す    print "callback(";    request.json.output = respJSON;    request.view ="JSON";    render();    print ");"; } sMash アプリ これだけかよ
当社ホームページの見つけ方 クリック ぶいてく 詳しくは、当社ホームページをご覧ください sMash 、Reflexアプリの作り方公開中!
あるいは、 クリック
1行目をクリック クリック 814,000 件中の 1 番目
[object Object],ご清聴、ありがとうございました

Más contenido relacionado

La actualidad más candente

覚醒JavaScript -ES6で作るIsomophicアプリケーション-
覚醒JavaScript  -ES6で作るIsomophicアプリケーション-覚醒JavaScript  -ES6で作るIsomophicアプリケーション-
覚醒JavaScript -ES6で作るIsomophicアプリケーション-Oonishi Keitarou
 
PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編Asami Abe
 
Java Flight Recorderの紹介 at Java Day Tokyo 2015
Java Flight Recorderの紹介  at Java Day Tokyo 2015Java Flight Recorderの紹介  at Java Day Tokyo 2015
Java Flight Recorderの紹介 at Java Day Tokyo 2015Chihiro Ito
 
JavaScript.Next
JavaScript.NextJavaScript.Next
JavaScript.Nextdynamis
 
Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)Misaki Kajiura
 
おっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶおっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶdcubeio
 
Java EEハンズオン資料 JJUG CCC 2015 Fall
Java EEハンズオン資料 JJUG CCC 2015 FallJava EEハンズオン資料 JJUG CCC 2015 Fall
Java EEハンズオン資料 JJUG CCC 2015 FallMasatoshi Tada
 
Java EE 再入門
Java EE 再入門Java EE 再入門
Java EE 再入門minazou67
 
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageekJava エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageekKazuhiro Sera
 
.NET Compiler Platform
.NET Compiler Platform.NET Compiler Platform
.NET Compiler Platform信之 岩永
 
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~JustSystems Corporation
 
Java EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpJava EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpNorito Agetsuma
 
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -Shuji Watanabe
 
JavaScript ライブラリーを使い倒そう #buildinsider
JavaScript ライブラリーを使い倒そう #buildinsiderJavaScript ライブラリーを使い倒そう #buildinsider
JavaScript ライブラリーを使い倒そう #buildinsiderTsuyoshi Yasunishi
 
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −JustSystems Corporation
 
Jsf アプリ作ったった
Jsf アプリ作ったったJsf アプリ作ったった
Jsf アプリ作ったったOda Shinsuke
 
Xamarin で ReactiveUI を使ってみた
Xamarin で ReactiveUI を使ってみたXamarin で ReactiveUI を使ってみた
Xamarin で ReactiveUI を使ってみたHironov OKUYAMA
 
JavaのStreamで学ぶ遅延処理実装パターン
JavaのStreamで学ぶ遅延処理実装パターンJavaのStreamで学ぶ遅延処理実装パターン
JavaのStreamで学ぶ遅延処理実装パターンShinya Mochida
 

La actualidad más candente (20)

覚醒JavaScript -ES6で作るIsomophicアプリケーション-
覚醒JavaScript  -ES6で作るIsomophicアプリケーション-覚醒JavaScript  -ES6で作るIsomophicアプリケーション-
覚醒JavaScript -ES6で作るIsomophicアプリケーション-
 
PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編
 
Java Flight Recorderの紹介 at Java Day Tokyo 2015
Java Flight Recorderの紹介  at Java Day Tokyo 2015Java Flight Recorderの紹介  at Java Day Tokyo 2015
Java Flight Recorderの紹介 at Java Day Tokyo 2015
 
JavaScript.Next
JavaScript.NextJavaScript.Next
JavaScript.Next
 
Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)
 
おっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶおっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶ
 
Java EEハンズオン資料 JJUG CCC 2015 Fall
Java EEハンズオン資料 JJUG CCC 2015 FallJava EEハンズオン資料 JJUG CCC 2015 Fall
Java EEハンズオン資料 JJUG CCC 2015 Fall
 
Java EE 再入門
Java EE 再入門Java EE 再入門
Java EE 再入門
 
Cve 2013-0422
Cve 2013-0422Cve 2013-0422
Cve 2013-0422
 
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageekJava エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
 
Spring3.1概要x di
Spring3.1概要x diSpring3.1概要x di
Spring3.1概要x di
 
.NET Compiler Platform
.NET Compiler Platform.NET Compiler Platform
.NET Compiler Platform
 
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
 
Java EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpJava EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jp
 
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
 
JavaScript ライブラリーを使い倒そう #buildinsider
JavaScript ライブラリーを使い倒そう #buildinsiderJavaScript ライブラリーを使い倒そう #buildinsider
JavaScript ライブラリーを使い倒そう #buildinsider
 
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
 
Jsf アプリ作ったった
Jsf アプリ作ったったJsf アプリ作ったった
Jsf アプリ作ったった
 
Xamarin で ReactiveUI を使ってみた
Xamarin で ReactiveUI を使ってみたXamarin で ReactiveUI を使ってみた
Xamarin で ReactiveUI を使ってみた
 
JavaのStreamで学ぶ遅延処理実装パターン
JavaのStreamで学ぶ遅延処理実装パターンJavaのStreamで学ぶ遅延処理実装パターン
JavaのStreamで学ぶ遅延処理実装パターン
 

Destacado

Appengine Java Night #2a
Appengine Java Night #2aAppengine Java Night #2a
Appengine Java Night #2aShinichi Ogawa
 
Tgaint08april
Tgaint08aprilTgaint08april
Tgaint08aprilrjensen
 
スマホアプリのSSLサーバ証明書の検証不備について
スマホアプリのSSLサーバ証明書の検証不備についてスマホアプリのSSLサーバ証明書の検証不備について
スマホアプリのSSLサーバ証明書の検証不備についてShunsuke Taniguchi
 
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Hypermedia: The Missing Element to Building Adaptable Web APIs in RailsHypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Hypermedia: The Missing Element to Building Adaptable Web APIs in RailsToru Kawamura
 
Angular js はまりどころ
Angular js はまりどころAngular js はまりどころ
Angular js はまりどころAyumi Goto
 
生きろ!チーム開発! 300人月の仲間はみな死んだ
生きろ!チーム開発! 300人月の仲間はみな死んだ生きろ!チーム開発! 300人月の仲間はみな死んだ
生きろ!チーム開発! 300人月の仲間はみな死んだShinichi Kozake
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話leverages_event
 
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talkkyon mm
 
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かったMicroserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かったAkira Miki
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTakuto Wada
 

Destacado (17)

Vtecx20151216
Vtecx20151216Vtecx20151216
Vtecx20151216
 
Appengine Java Night #2a
Appengine Java Night #2aAppengine Java Night #2a
Appengine Java Night #2a
 
Vtecx20151216 2
Vtecx20151216 2Vtecx20151216 2
Vtecx20151216 2
 
Tgaint08april
Tgaint08aprilTgaint08april
Tgaint08april
 
Gaeja20121130
Gaeja20121130Gaeja20121130
Gaeja20121130
 
BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 
appengine4java-scaleout
appengine4java-scaleoutappengine4java-scaleout
appengine4java-scaleout
 
スマホアプリのSSLサーバ証明書の検証不備について
スマホアプリのSSLサーバ証明書の検証不備についてスマホアプリのSSLサーバ証明書の検証不備について
スマホアプリのSSLサーバ証明書の検証不備について
 
Enterpriseapi20160210
Enterpriseapi20160210Enterpriseapi20160210
Enterpriseapi20160210
 
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Hypermedia: The Missing Element to Building Adaptable Web APIs in RailsHypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
 
Angular js はまりどころ
Angular js はまりどころAngular js はまりどころ
Angular js はまりどころ
 
生きろ!チーム開発! 300人月の仲間はみな死んだ
生きろ!チーム開発! 300人月の仲間はみな死んだ生きろ!チーム開発! 300人月の仲間はみな死んだ
生きろ!チーム開発! 300人月の仲間はみな死んだ
 
Vtecxlt20151201
Vtecxlt20151201Vtecxlt20151201
Vtecxlt20151201
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
 
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk
 
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かったMicroserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
 

Similar a Groovyコンファレンス

クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれMasataka MIZUNO
 
Public 20100828 j_ruby_kaigi_10things_jror_with_javaee
Public 20100828 j_ruby_kaigi_10things_jror_with_javaeePublic 20100828 j_ruby_kaigi_10things_jror_with_javaee
Public 20100828 j_ruby_kaigi_10things_jror_with_javaeeYoshiharu Hashimoto
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Tokuhiro Matsuno
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.jsTanUkkii
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発Tomoharu ASAMI
 
動的なILの生成と編集
動的なILの生成と編集動的なILの生成と編集
動的なILの生成と編集terurou
 
Java fx勉強会lt 第8回
Java fx勉強会lt 第8回Java fx勉強会lt 第8回
Java fx勉強会lt 第8回Taiji Miyabe
 
Oracleがnode.jsをやり始めたというのだが!
Oracleがnode.jsをやり始めたというのだが!Oracleがnode.jsをやり始めたというのだが!
Oracleがnode.jsをやり始めたというのだが!Hiroshi Hayakawa
 
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】WESEEKWESEEK
 
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告Code4Lib JAPAN
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - SORACOM, INC
 
Scala Daysに行ってみて
Scala Daysに行ってみてScala Daysに行ってみて
Scala Daysに行ってみてKota Mizushima
 
Hijax - 少しずつAjaxへ
Hijax - 少しずつAjaxへHijax - 少しずつAjaxへ
Hijax - 少しずつAjaxへYi Gu
 
Play frameworkの概要
Play frameworkの概要Play frameworkの概要
Play frameworkの概要Shuhei Kaneko
 

Similar a Groovyコンファレンス (20)

クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
 
Public 20100828 j_ruby_kaigi_10things_jror_with_javaee
Public 20100828 j_ruby_kaigi_10things_jror_with_javaeePublic 20100828 j_ruby_kaigi_10things_jror_with_javaee
Public 20100828 j_ruby_kaigi_10things_jror_with_javaee
 
ScalaMatsuri 2016
ScalaMatsuri 2016ScalaMatsuri 2016
ScalaMatsuri 2016
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.js
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
 
動的なILの生成と編集
動的なILの生成と編集動的なILの生成と編集
動的なILの生成と編集
 
Synquery ja
Synquery jaSynquery ja
Synquery ja
 
Java fx勉強会lt 第8回
Java fx勉強会lt 第8回Java fx勉強会lt 第8回
Java fx勉強会lt 第8回
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
Apex Test Plusの紹介
Apex Test Plusの紹介Apex Test Plusの紹介
Apex Test Plusの紹介
 
Backbone.js入門
Backbone.js入門Backbone.js入門
Backbone.js入門
 
Oracleがnode.jsをやり始めたというのだが!
Oracleがnode.jsをやり始めたというのだが!Oracleがnode.jsをやり始めたというのだが!
Oracleがnode.jsをやり始めたというのだが!
 
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
 
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 -
 
Scala Daysに行ってみて
Scala Daysに行ってみてScala Daysに行ってみて
Scala Daysに行ってみて
 
Hijax - 少しずつAjaxへ
Hijax - 少しずつAjaxへHijax - 少しずつAjaxへ
Hijax - 少しずつAjaxへ
 
Play frameworkの概要
Play frameworkの概要Play frameworkの概要
Play frameworkの概要
 
Mvc conf session_5_isami
Mvc conf session_5_isamiMvc conf session_5_isami
Mvc conf session_5_isami
 

Más de Shinichiro Takezaki (15)

Vtecx solution
Vtecx solutionVtecx solution
Vtecx solution
 
Lt20190129
Lt20190129Lt20190129
Lt20190129
 
Real techlt20180829
Real techlt20180829Real techlt20180829
Real techlt20180829
 
Bpstudy20180725
Bpstudy20180725Bpstudy20180725
Bpstudy20180725
 
11 29プレゼン資料
11 29プレゼン資料11 29プレゼン資料
11 29プレゼン資料
 
React vtecx20171129
React vtecx20171129React vtecx20171129
React vtecx20171129
 
20171025 date picker説明資料
20171025 date picker説明資料20171025 date picker説明資料
20171025 date picker説明資料
 
React vtecx20171025
React vtecx20171025React vtecx20171025
React vtecx20171025
 
Web study20171007
Web study20171007Web study20171007
Web study20171007
 
React vtecx20170920
React vtecx20170920React vtecx20170920
React vtecx20170920
 
React vtecx20170822
React vtecx20170822React vtecx20170822
React vtecx20170822
 
Builderscon Tokyo 2017
Builderscon Tokyo 2017 Builderscon Tokyo 2017
Builderscon Tokyo 2017
 
Angularreflex20141210
Angularreflex20141210Angularreflex20141210
Angularreflex20141210
 
No nosql20130424
No nosql20130424No nosql20130424
No nosql20130424
 
Reflex works20120818 1
Reflex works20120818 1Reflex works20120818 1
Reflex works20120818 1
 

Último

TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 

Último (12)

What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 

Groovyコンファレンス

  • 1. sMash(ProjectZero) と「 Reflex 」で構築するお手軽営業支援システム Virtual Technology 2007/08/22   竹嵜 伸一郎 [email_address]
  • 2.
  • 3. ソリューション提案 各拠点にある System-i のデータに sMash から動的にアクセスする F/W 拠点 4 拠点 3 拠点 2 拠点 1 sMash Internet ・ 日報入力 ・ 在庫検索 社内 N/W DMZ sMash は 賢い Proxy サーバ データを保管しない F/W XML XML XML XML
  • 4. sMash Pipes Boundary Control Entity 言語も技術も文化も違うレイアどうしが RESTful に接続するにはスキーマが重要 View Mashup Resource レイヤ: 主な実装技術: レイヤ: 主な実装技術: レイヤ: RESTful 設計では各レイヤが疎結合となり「完全分業」が可能となる お互いに実装の中身がどうなっているのか関知しない XML/JSON XML/JSON AJAX 主な実装技術: System-i
  • 5.
  • 6. インスタンスは JSON で OK var    report = { activity : [            ["07/05","10:00","18:00","JavaScript"," 暑い ","80%"],            ["07/06","10:00","18:00","CSS"," 寒い ","20%"],            ["07/07","10:00","18:00","HTML"," 普通 ","40%"],            ["07/08","10:00","18:00","JSON"," 暖かい ","70%"],            ["07/09","10:00","18:00","Ajax"," 肌寒い ","100%"],            ["07/10","10:00","18:00","JavaScript"," 暑い ","80%"],            ["07/11","10:00","18:00","CSS"," 寒い ","20%"],            ["07/12","10:00","18:00","HTML"," 普通 ","40%"],            ["07/13","10:00","18:00","JSON"," 暖かい ","70%"],            ["07/14","10:00","18:00","Ajax"," 肌寒い ","100%"],            ["07/15","10:00","18:00","JavaScript"," 暑い ","80%"],            ["07/16","10:00","18:00","CSS"," 寒い ","20%"],            ["07/17","10:00","18:00","HTML"," 普通 ","40%"],            ["07/18","10:00","18:00","JSON"," 暖かい ","70%"],            ["07/19","10:00","18:00","Ajax"," 肌寒い ","100%"],            ["07/20","10:00","18:00","JavaScript"," 暑い ","80%"],            ["07/21","10:00","18:00","CSS"," 寒い ","20%"],            ["07/22","10:00","18:00","HTML"," 普通 ","40%"],            ["07/23","10:00","18:00","JSON"," 暖かい ","70%"],            ["07/24","10:00","18:00","Ajax"," 肌寒い ","100%"],            ["07/25","10:00","18:00","JavaScript"," 暑い ","80%"],            ["07/26","10:00","18:00","CSS"," 寒い ","20%"],            ["07/27","10:00","18:00","HTML"," 普通 ","40%"],            ["07/28","10:00","18:00","JSON"," 暖かい ","70%"],            ["07/29","10:00","18:00","Ajax"," 肌寒い ","100%"]            ], assessment      : [" 月の評価 ",                    " よくできました ",            " 2週目評価 ",            " 3週目評価 ",            " 4週目評価 "
  • 7. スキーマさえ固まれば分業開始できる View Mashup Resource レイヤ: レイヤ: レイヤ: 各レイヤは渡されたインスタンスを元に開発をすすめていく お互いに干渉しない。する必要がない。 AJAX System-i インスタンス インスタンス インスタンス これやるから後は勝手によろしく! ポイ ポイ ポイ
  • 8. VTEC メソッド( Reflex 設計) ・画面実装 ・単体テスト ・ Resorce モデル設計 ・フローアセンブル ・単体テスト ・ DAO モデル設計 ・ O/R マッピング実装 ・単体テスト ・統合テスト ・システムテスト ・ユースケース図、ユースケース記述 ・分析クラス図、論理ビュー ・画面モックアップ ・エンティティ設計、テーブル設計、インスタンス作成 要件定義 外部設計 内部設計 実装 テスト リリース
  • 9.
  • 10.
  • 12. sMash のいいところ#2 WakhokNight Seminar 2007 : Project Zero コース(第 3 回) より抜粋
  • 13.
  • 14. Reflex 概要 リソースから様々な Reflex (反射像)を取り出すためのフレームワーク  1. リソース志向のフレームワーク  2. 1つのリソースから様々な表現 (HTML,XML,JSON,PDF など ) を取り出せる  3. スケーラビリティを確保できる Node Node Node Node Repository Repository Repository Repository
  • 15.
  • 16.
  • 17. Resource Mapper Entity Resource Operator Blogic DBUtil Entity Generator Resource Locator SQL Source Reflex Component ・・ツール、既存コンポーネント ・・自動生成コンポーネント ・・手で実装 Reflex 表現 CRUD Resource Mapper Entity Resource Operator Blogic DBUtil Resource Locator
  • 18.
  • 20. Java は劣勢 J2EE Struts LL Fuck!
  • 21. Groovy 、 Reflex 登場! Cool! ん?
  • 23. そこで、 Rediscover the Java 3 年。 世界が Java の真の実力を発見するのに要した時間である。 2005 年、 LL の台頭により Java は、これまで標準的に使われてきたにもかかわらず、「世界で最も忌み嫌われるプログラミング言語」などと呼ばれもした、ともすれば不遇とすらいい得る歳月を経て、あたりのそこここに満ち充ちていた 「 Web 世界の無秩序と混乱から脱却したい」という思いによって、ふたたびして表舞台に招来された。 Java は、 Web の「あちら側」と「こちら側」とを取り結ぶ、もっとも古くてもっとも新しい、そして、もっとも重要な技術だ。次の 3 年を自らの手で創り出すために、我々は Shibuya.groovy を結成した。 うそです
  • 24. まじめに Java のいいところ F/W 拠点 4 拠点 3 拠点 2 拠点 1 sMash Internet ・ 日報入力 ・ 在庫検索 社内 N/W 安全・安心・堅牢な Java で エンタープライズシステムとデータをしっかり守る DMZ sMash は 賢い Proxy サーバ データを保管しない F/W XML XML XML XML
  • 25.
  • 26. デモシステム構成 System-i Windows ThinkPadX30 Internet IBM @渋谷 NIS @大森 System-i のデータに sMash から動的にアクセスする こんな遅いの使うなよ! ローカル環境 リモート環境
  • 27. def onRetrieve() {    def userid = request.params.userid[];    def month = request.params.month[];       def server="";       // ユーザに応じてアクセス先を変える    if (userid=="user1") server = "http://localhost:8083/";    if (userid=="user2") server = "http://localhost:8085/";         // リソースにアクセスする     def Connection.Response resp =     Connection.doGET(server +"/pmsdemo/jp/reflexworks/pms/model/Report?json&userid=“                                          +userid+"&month="+month);       // リソースを JSON にする    def body = resp.getResponseBodyAsString();    def respJSON = zero.json.Json.decode(body);    // JSONP で返す    print "callback(";    request.json.output = respJSON;    request.view ="JSON";    render();    print ");"; } sMash アプリ これだけかよ
  • 28. 当社ホームページの見つけ方 クリック ぶいてく 詳しくは、当社ホームページをご覧ください sMash 、Reflexアプリの作り方公開中!
  • 31.