SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Yet Another BPM Framework
       “Kailas”
• 
• 
     – 
     – 
:
(   )
(   )
Yet Another BPM Framework
          “Kailas”
• 
     – 
     – 
     – 
•         Copyright© 2009 ITmedia, Inc.
Kailas
• 

• 

• 
Kailas

     20


• 

• 

• 
…
• 
• 


• 
 
 

 

 
• 
           
           
           


• 
     – 
A
Web



• 
     – 
• 
     – 
• 
     – 
• 
• 
• 
• 
• 
Kailas
Kailas
                                         Process
       Repository                        Designer
                                                                             Kailas     Framework

                                      Configuration
Monitoring                                        Syntax Validation
                                                   Rule Validation
                      Begin Process
                                                       Check Business Rule

              State                                                    Rule
             Engine                       core-                       Engine
                                           API
                      State Management
                        Finish Process
                                                       Make Application            Decision Service
Data Entry
                                         Web                     Check Data Type

                                       Application


                                      Web Interface            Collaborative Web Site
                                                                  “Simon”activities
 


 



 
 


 


 
• 

• 

• 
• 

• 
Kailas

                jQuery UI
Designer


                  JSON
 core-API

               HTML::FormFu
  Web
Application
                 Catalyst
jQuery UI
• 
• 
                             Droppable
Icon CSS


                                                       Tabs




 Draggable

                                              Dialog
                                Progressbar

             Sortable
JSON/YAML
process:                     • 
    name: 
    activity: 
      ‐ name:                     – 
        data: 
            ‐ name: 
               type: Text 
            ‐ name:          • 
               type: Text         – 
            ‐ name: 
               type: Text    • 
      ‐ name: 
        data: 
            ‐ name:          • 
               type: Text 
      ‐ name: 
        data: 
            ‐ name: 
               type: Date
HTML::FormFu
• 
• 
• 

     – 

     Designer   JSON     Parser          JSON / DB   HTML::FormFu




                             Kailas::Web                HTML
                             Catalyst App
sub get_activity_form{}; in Web
sub get_activity_form { 
    my ( $self, $activity ) = @_; 
    my $form = HTML::FormFu‐>new(); 
    my @elements; 
    for my $data ( $activity‐>data ) { 
        my @constraints = ('Required'); 
        if ( JSON::decode_json( $data‐>validation )‐>{type} ) { 
            push( @constraints, JSON::decode_json( $data‐>validation ) ); 
        } 
        my $args = { 
            type => $activity‐>approval ? 'Label' : $data‐>type, 
            name => $data‐>name, 
            value => $data‐>value || '', 
            label => $data‐>name, 
            constraints => @constraints, 
        }; 
        push( @elements, $args ); 
    } 
    $form‐>elements( @elements ); 
    return $form; 
}
Catalyst
• 
• 

• 
• 
Why wadit use Perl ?
• 
• 
• 
     – 

     – 
     – 
     – 
Perl
Perl
End

Weitere ähnliche Inhalte

Andere mochten auch

大規模画像配信とPerl
大規模画像配信とPerl大規模画像配信とPerl
大規模画像配信とPerlMasahiro Nagano
 
シックス・アパート・フレームワーク
シックス・アパート・フレームワークシックス・アパート・フレームワーク
シックス・アパート・フレームワークTakatsugu Shigeta
 
Introduction to Perl MAGIC
Introduction to Perl MAGICIntroduction to Perl MAGIC
Introduction to Perl MAGICguest6b8f09
 
Moose Hacking Guide
Moose Hacking GuideMoose Hacking Guide
Moose Hacking Guideguest6b8f09
 
IRC HTTP Stream in YAPC::Asia 2009
IRC HTTP Stream in YAPC::Asia 2009IRC HTTP Stream in YAPC::Asia 2009
IRC HTTP Stream in YAPC::Asia 2009Yusuke Wada
 
Basic Mechanism of OOPL
Basic Mechanism of OOPLBasic Mechanism of OOPL
Basic Mechanism of OOPLkwatch
 

Andere mochten auch (6)

大規模画像配信とPerl
大規模画像配信とPerl大規模画像配信とPerl
大規模画像配信とPerl
 
シックス・アパート・フレームワーク
シックス・アパート・フレームワークシックス・アパート・フレームワーク
シックス・アパート・フレームワーク
 
Introduction to Perl MAGIC
Introduction to Perl MAGICIntroduction to Perl MAGIC
Introduction to Perl MAGIC
 
Moose Hacking Guide
Moose Hacking GuideMoose Hacking Guide
Moose Hacking Guide
 
IRC HTTP Stream in YAPC::Asia 2009
IRC HTTP Stream in YAPC::Asia 2009IRC HTTP Stream in YAPC::Asia 2009
IRC HTTP Stream in YAPC::Asia 2009
 
Basic Mechanism of OOPL
Basic Mechanism of OOPLBasic Mechanism of OOPL
Basic Mechanism of OOPL
 

Ähnlich wie Kailas by Wadit in YAPC::Asia 2009

Wide Open Spaces Using My Sql As A Web Mapping Service Backend
Wide Open Spaces Using My Sql As A Web Mapping Service BackendWide Open Spaces Using My Sql As A Web Mapping Service Backend
Wide Open Spaces Using My Sql As A Web Mapping Service BackendMySQLConference
 
Gmr Highload Presentation Revised
Gmr Highload Presentation RevisedGmr Highload Presentation Revised
Gmr Highload Presentation RevisedOntico
 
Gmr Highload Presentation
Gmr Highload PresentationGmr Highload Presentation
Gmr Highload PresentationOntico
 
Act! Technical Training
Act! Technical TrainingAct! Technical Training
Act! Technical TrainingMike Lazarus
 
iPhone Development For Experienced Web Developers
iPhone Development For Experienced Web DevelopersiPhone Development For Experienced Web Developers
iPhone Development For Experienced Web Developerslisab517
 
9 Ways to Hack a Web App
9 Ways to Hack a Web App9 Ways to Hack a Web App
9 Ways to Hack a Web Appelliando dias
 
Architectures For Scaling Ajax
Architectures For Scaling AjaxArchitectures For Scaling Ajax
Architectures For Scaling Ajaxwolframkriesing
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsFlink Forward
 
Automated Performance Testing With J Meter And Maven
Automated  Performance  Testing With  J Meter And  MavenAutomated  Performance  Testing With  J Meter And  Maven
Automated Performance Testing With J Meter And MavenPerconaPerformance
 
From Developer to Production, Promoting your Webservices
From Developer to Production, Promoting your WebservicesFrom Developer to Production, Promoting your Webservices
From Developer to Production, Promoting your Webserviceskingsfleet
 
Apache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-onApache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-onMatt Raible
 
REST化的工作流
REST化的工作流REST化的工作流
REST化的工作流Shawn Zhu
 
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsPerformance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsSalesforce Developers
 
One Unified Platform for Deploying Enterprise Class Solutions across any ente...
One Unified Platform for Deploying Enterprise Class Solutions across any ente...One Unified Platform for Deploying Enterprise Class Solutions across any ente...
One Unified Platform for Deploying Enterprise Class Solutions across any ente...trw188
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyMark Meeker
 

Ähnlich wie Kailas by Wadit in YAPC::Asia 2009 (20)

Wide Open Spaces Using My Sql As A Web Mapping Service Backend
Wide Open Spaces Using My Sql As A Web Mapping Service BackendWide Open Spaces Using My Sql As A Web Mapping Service Backend
Wide Open Spaces Using My Sql As A Web Mapping Service Backend
 
Gmr Highload Presentation Revised
Gmr Highload Presentation RevisedGmr Highload Presentation Revised
Gmr Highload Presentation Revised
 
Gmr Highload Presentation
Gmr Highload PresentationGmr Highload Presentation
Gmr Highload Presentation
 
Act! Technical Training
Act! Technical TrainingAct! Technical Training
Act! Technical Training
 
iPhone Development For Experienced Web Developers
iPhone Development For Experienced Web DevelopersiPhone Development For Experienced Web Developers
iPhone Development For Experienced Web Developers
 
Alfresco : Planning
Alfresco : PlanningAlfresco : Planning
Alfresco : Planning
 
9 Ways to Hack a Web App
9 Ways to Hack a Web App9 Ways to Hack a Web App
9 Ways to Hack a Web App
 
Architectures For Scaling Ajax
Architectures For Scaling AjaxArchitectures For Scaling Ajax
Architectures For Scaling Ajax
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
 
Automated Performance Testing With J Meter And Maven
Automated  Performance  Testing With  J Meter And  MavenAutomated  Performance  Testing With  J Meter And  Maven
Automated Performance Testing With J Meter And Maven
 
From Developer to Production, Promoting your Webservices
From Developer to Production, Promoting your WebservicesFrom Developer to Production, Promoting your Webservices
From Developer to Production, Promoting your Webservices
 
Apache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-onApache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-on
 
REST化的工作流
REST化的工作流REST化的工作流
REST化的工作流
 
XS Japan 2008 Oracle Japanese
XS Japan 2008 Oracle JapaneseXS Japan 2008 Oracle Japanese
XS Japan 2008 Oracle Japanese
 
Practical Web Attacks
Practical Web AttacksPractical Web Attacks
Practical Web Attacks
 
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsPerformance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
 
Case Studies
Case StudiesCase Studies
Case Studies
 
One Unified Platform for Deploying Enterprise Class Solutions across any ente...
One Unified Platform for Deploying Enterprise Class Solutions across any ente...One Unified Platform for Deploying Enterprise Class Solutions across any ente...
One Unified Platform for Deploying Enterprise Class Solutions across any ente...
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case Study
 
360 Max Cairngorm Zamf
360 Max Cairngorm Zamf360 Max Cairngorm Zamf
360 Max Cairngorm Zamf
 

Mehr von Yusuke Wada

僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達Yusuke Wada
 
スッとGoを取り入れる
スッとGoを取り入れるスッとGoを取り入れる
スッとGoを取り入れるYusuke Wada
 
東京脱出計画中
東京脱出計画中東京脱出計画中
東京脱出計画中Yusuke Wada
 
Extreme remote working
Extreme remote workingExtreme remote working
Extreme remote workingYusuke Wada
 
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPANPodcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPANYusuke Wada
 
創造のプロセスを回せ!v0.01
創造のプロセスを回せ!v0.01創造のプロセスを回せ!v0.01
創造のプロセスを回せ!v0.01Yusuke Wada
 
It's not only about "REMOTE"
It's not only about "REMOTE"It's not only about "REMOTE"
It's not only about "REMOTE"Yusuke Wada
 
事故からはじまるスケールチャンス
事故からはじまるスケールチャンス事故からはじまるスケールチャンス
事故からはじまるスケールチャンスYusuke Wada
 
Google BigQueryを使ってみた!
Google BigQueryを使ってみた!Google BigQueryを使ってみた!
Google BigQueryを使ってみた!Yusuke Wada
 
Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤Yusuke Wada
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方Yusuke Wada
 
5 minutes - YAPC::Asia Tokyo 2014
5 minutes - YAPC::Asia Tokyo 20145 minutes - YAPC::Asia Tokyo 2014
5 minutes - YAPC::Asia Tokyo 2014Yusuke Wada
 
Podcastをカジュアルに 支える技術
Podcastをカジュアルに 支える技術Podcastをカジュアルに 支える技術
Podcastをカジュアルに 支える技術Yusuke Wada
 
The master plan of scaling a web application
The master plan ofscaling a web applicationThe master plan ofscaling a web application
The master plan of scaling a web applicationYusuke Wada
 
そのWebサービスは本当に「あたりまえ」だったのか?
そのWebサービスは本当に「あたりまえ」だったのか?そのWebサービスは本当に「あたりまえ」だったのか?
そのWebサービスは本当に「あたりまえ」だったのか?Yusuke Wada
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Yusuke Wada
 
10 things to learn from Bokete
10 things to learn from Bokete10 things to learn from Bokete
10 things to learn from BoketeYusuke Wada
 
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete:  Web Application with Mojolicious and othersInside Bokete:  Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and othersYusuke Wada
 
僕らの履歴書
僕らの履歴書僕らの履歴書
僕らの履歴書Yusuke Wada
 
僕らがWebサービスをつくる5つの理由
僕らがWebサービスをつくる5つの理由僕らがWebサービスをつくる5つの理由
僕らがWebサービスをつくる5つの理由Yusuke Wada
 

Mehr von Yusuke Wada (20)

僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達
 
スッとGoを取り入れる
スッとGoを取り入れるスッとGoを取り入れる
スッとGoを取り入れる
 
東京脱出計画中
東京脱出計画中東京脱出計画中
東京脱出計画中
 
Extreme remote working
Extreme remote workingExtreme remote working
Extreme remote working
 
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPANPodcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
 
創造のプロセスを回せ!v0.01
創造のプロセスを回せ!v0.01創造のプロセスを回せ!v0.01
創造のプロセスを回せ!v0.01
 
It's not only about "REMOTE"
It's not only about "REMOTE"It's not only about "REMOTE"
It's not only about "REMOTE"
 
事故からはじまるスケールチャンス
事故からはじまるスケールチャンス事故からはじまるスケールチャンス
事故からはじまるスケールチャンス
 
Google BigQueryを使ってみた!
Google BigQueryを使ってみた!Google BigQueryを使ってみた!
Google BigQueryを使ってみた!
 
Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
 
5 minutes - YAPC::Asia Tokyo 2014
5 minutes - YAPC::Asia Tokyo 20145 minutes - YAPC::Asia Tokyo 2014
5 minutes - YAPC::Asia Tokyo 2014
 
Podcastをカジュアルに 支える技術
Podcastをカジュアルに 支える技術Podcastをカジュアルに 支える技術
Podcastをカジュアルに 支える技術
 
The master plan of scaling a web application
The master plan ofscaling a web applicationThe master plan ofscaling a web application
The master plan of scaling a web application
 
そのWebサービスは本当に「あたりまえ」だったのか?
そのWebサービスは本当に「あたりまえ」だったのか?そのWebサービスは本当に「あたりまえ」だったのか?
そのWebサービスは本当に「あたりまえ」だったのか?
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
 
10 things to learn from Bokete
10 things to learn from Bokete10 things to learn from Bokete
10 things to learn from Bokete
 
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete:  Web Application with Mojolicious and othersInside Bokete:  Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and others
 
僕らの履歴書
僕らの履歴書僕らの履歴書
僕らの履歴書
 
僕らがWebサービスをつくる5つの理由
僕らがWebサービスをつくる5つの理由僕らがWebサービスをつくる5つの理由
僕らがWebサービスをつくる5つの理由
 

Kailas by Wadit in YAPC::Asia 2009

  • 1. Yet Another BPM Framework “Kailas”
  • 2.
  • 3. •  •  –  – 
  • 4. :
  • 5. ( ) ( )
  • 6.
  • 7. Yet Another BPM Framework “Kailas”
  • 8. •  –  –  –  •  Copyright© 2009 ITmedia, Inc.
  • 11. Kailas 20 •  •  • 
  • 12.
  • 13.
  • 16.
  • 17. •        •  – 
  • 18.
  • 19. A
  • 20.
  • 21. Web •  –  •  –  •  – 
  • 22.
  • 25. Kailas Process Repository Designer Kailas Framework Configuration Monitoring Syntax Validation Rule Validation Begin Process Check Business Rule State Rule Engine core- Engine API State Management Finish Process Make Application Decision Service Data Entry Web Check Data Type Application Web Interface Collaborative Web Site “Simon”activities
  • 27.
  • 28.
  • 29.
  • 31. Kailas jQuery UI Designer JSON core-API HTML::FormFu Web Application Catalyst
  • 32. jQuery UI •  •  Droppable Icon CSS Tabs Draggable Dialog Progressbar Sortable
  • 33. JSON/YAML process:  •      name:  activity:        ‐ name:  –    data:              ‐ name:   type: Text              ‐ name:  •        type: Text  –              ‐ name:    type: Text  •        ‐ name:   data:              ‐ name:  •        type: Text        ‐ name:   data:              ‐ name:        type: Date
  • 34. HTML::FormFu •  •  •  –  Designer JSON Parser JSON / DB HTML::FormFu Kailas::Web HTML Catalyst App
  • 35. sub get_activity_form{}; in Web sub get_activity_form {      my ( $self, $activity ) = @_;      my $form = HTML::FormFu‐>new();      my @elements;      for my $data ( $activity‐>data ) {          my @constraints = ('Required');          if ( JSON::decode_json( $data‐>validation )‐>{type} ) {              push( @constraints, JSON::decode_json( $data‐>validation ) );          }          my $args = {              type => $activity‐>approval ? 'Label' : $data‐>type,              name => $data‐>name,              value => $data‐>value || '',              label => $data‐>name,              constraints => @constraints,          };          push( @elements, $args );      }      $form‐>elements( @elements );      return $form;  }
  • 37. Why wadit use Perl ? •  •  •  –  –  –  – 
  • 38. Perl
  • 39.
  • 40.
  • 41.
  • 42. Perl
  • 43. End