SlideShare ist ein Scribd-Unternehmen logo
1 von 18
BEAR framework architecture
       RESTful MVC
3 components

• Page (Controller)
• Resource (Model)
• View
Resource (Model)
Page (Controller)               DB                    File            XML          Page
      View
     Client                                                Resource

                    RO
                                                read User?id=5
                                                 Private CRUD Resource Access
        Code
       Header               Page
        Body




          View                                  GET /user?id=5                            RO
                                                Public HTTP Access


      HTML                Bot
                                  PC                  JS                 Socket   CLI     REST
      JSON               Mobile
                                Game
                                       iPhone

       XML
Internal API on ROA
              API
DB                      File        XML       Page



                                                   Resource Object
                              onCreate    onRead     onUpdate     onDelete




                                  read User?id=5                          Ro
                                  Internal Access with Internal API
                                  +Option                           -int Code        mini web
read User/Profile?user_id=5
read User/Friend?user_id=5         cache                            -array Headers
                                   resource template                -array Body
update Footprint/?user_id=5
                                   pager
                                   post once exactly


                                         Page Controller                                        ROA




                                GET /user?id=5
                                External Access

                     Bot
                                                                          View
                                          JS
•   Page Resource


•   Resource
        body                 Headers
                           code
                                HTTP


•           or
                    CRUD        +URI



•   PHP
Resource Portability
DB                        File        XML         Page



                               Resource



      read User?id=5
                                           Ro

ROA                                  -int Code                 API
                                     -array Headers
                                     -array Body




                        CLI / HTTP / Socket Interface




      Shell        Socket     REST              Java / Perl / Ruby / Python
•   View Page


•
•                               web



•               comet orbited
REST
Client - Server (CS)


      Resource

               Server

                        •
           Client
        Page
Client - Stateless - Server (CSS)


                 Resource


read User?id=5           •             1
                         •
   set id=5;             •
   get User;             •
                  Page
Client - Cache - Stateless - Server (C$SS)


                 Resource


                           •


                Resource Cache
                    Page
Uniform - Client - Cache - Stateless - Server (UC$SS)



                       Resource
          onCreate   onRead   onUpdate   onDelete



 read User?id=5
                                  •
   getUserName(5)
                      Resource Cache
                          Page
Uniform - Layered - Client - Cache - Stateless - Server (ULC$SS)


             Profile                             Follower



                                                •
                        Cache           Cache

                                User
                                                •
                                                •
                                                •
                                Cache

                                Page
Caches
DB                  File     XML      Page



                                                Resource Object
        Resource Cache



                                read User?id=5                  Ro
                                with resource template
                                                          -int Code
read User/Profile?user_id=5
read User/Friend?user_id=5
                                ‘template’                -array Headers
update Footprint/?user_id=5     =>user.tpl                -string Body
                                                                Cached resource HTML
           Init Cache


                                     Page Controller

           Page Cache         GET /user?id=5
                              External Access

                     Bot
                                       JS
•
•
•          MVC html
    view

Weitere ähnliche Inhalte

Was ist angesagt?

Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Lucidworks
 

Was ist angesagt? (6)

Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
 
SPSPhilly - SharePoint 2010 Tips & Tricks of the Trade - Avoiding Administrat...
SPSPhilly - SharePoint 2010 Tips & Tricks of the Trade - Avoiding Administrat...SPSPhilly - SharePoint 2010 Tips & Tricks of the Trade - Avoiding Administrat...
SPSPhilly - SharePoint 2010 Tips & Tricks of the Trade - Avoiding Administrat...
 
Introduction to Srb4j
Introduction to Srb4jIntroduction to Srb4j
Introduction to Srb4j
 
PLAT-7 Spring Web Scripts and Spring Surf
PLAT-7 Spring Web Scripts and Spring SurfPLAT-7 Spring Web Scripts and Spring Surf
PLAT-7 Spring Web Scripts and Spring Surf
 
ReST
ReSTReST
ReST
 
Class 10
Class 10Class 10
Class 10
 

Andere mochten auch (7)

BEAR.Sunday.meetup #0
BEAR.Sunday.meetup #0BEAR.Sunday.meetup #0
BEAR.Sunday.meetup #0
 
BEAR.Sunday 1.X
BEAR.Sunday 1.XBEAR.Sunday 1.X
BEAR.Sunday 1.X
 
PHPカンファレンス関西2014 「全てを結ぶ力」
PHPカンファレンス関西2014 「全てを結ぶ力」PHPカンファレンス関西2014 「全てを結ぶ力」
PHPカンファレンス関西2014 「全てを結ぶ力」
 
BEAR.Sunday@phpcon2012
BEAR.Sunday@phpcon2012BEAR.Sunday@phpcon2012
BEAR.Sunday@phpcon2012
 
An object graph visualizer for PHP - print_o
An object graph visualizer for PHP - print_oAn object graph visualizer for PHP - print_o
An object graph visualizer for PHP - print_o
 
PHP Coding in BEAR.Sunday
PHP Coding in BEAR.SundayPHP Coding in BEAR.Sunday
PHP Coding in BEAR.Sunday
 
A resource oriented framework using the DI/AOP/REST triangle
A resource oriented framework using the DI/AOP/REST triangleA resource oriented framework using the DI/AOP/REST triangle
A resource oriented framework using the DI/AOP/REST triangle
 

Ähnlich wie BEAR Architecture

6 3 tier architecture php
6 3 tier architecture php6 3 tier architecture php
6 3 tier architecture php
cefour
 
FatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio DevelopersFatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio Developers
Brian Huff
 

Ähnlich wie BEAR Architecture (20)

BEAR v0.9 (Saturday)
BEAR v0.9 (Saturday)BEAR v0.9 (Saturday)
BEAR v0.9 (Saturday)
 
Shooting rabbits with sling
Shooting rabbits with slingShooting rabbits with sling
Shooting rabbits with sling
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
6 3 tier architecture php
6 3 tier architecture php6 3 tier architecture php
6 3 tier architecture php
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
REST and REST-fulness
REST and REST-fulnessREST and REST-fulness
REST and REST-fulness
 
Python - A Comprehensive Programming Language
Python - A Comprehensive Programming LanguagePython - A Comprehensive Programming Language
Python - A Comprehensive Programming Language
 
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
Not Just ORM: Powerful Hibernate ORM Features and CapabilitiesNot Just ORM: Powerful Hibernate ORM Features and Capabilities
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
 
FatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio DevelopersFatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio Developers
 
hibernateormfeatures-140223193044-phpapp02.pdf
hibernateormfeatures-140223193044-phpapp02.pdfhibernateormfeatures-140223193044-phpapp02.pdf
hibernateormfeatures-140223193044-phpapp02.pdf
 
Drupal 7 - The Top 40 Core Modules and What They Mean for You
Drupal 7 - The Top 40 Core Modules and What They Mean for YouDrupal 7 - The Top 40 Core Modules and What They Mean for You
Drupal 7 - The Top 40 Core Modules and What They Mean for You
 
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
 
Rest style web services (google protocol buffers) prasad nirantar
Rest style web services (google protocol buffers)   prasad nirantarRest style web services (google protocol buffers)   prasad nirantar
Rest style web services (google protocol buffers) prasad nirantar
 
Hibernate
HibernateHibernate
Hibernate
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Motion Django Meetup
Motion Django MeetupMotion Django Meetup
Motion Django Meetup
 
Local Storage for Web Applications
Local Storage for Web ApplicationsLocal Storage for Web Applications
Local Storage for Web Applications
 
The never-ending REST API design debate
The never-ending REST API design debateThe never-ending REST API design debate
The never-ending REST API design debate
 
Zenyan Visualized
Zenyan VisualizedZenyan Visualized
Zenyan Visualized
 
HTML5 표준 소개
HTML5 표준 소개HTML5 표준 소개
HTML5 표준 소개
 

Mehr von Akihito Koriyama (7)

BEAR.Sunday $app
BEAR.Sunday $appBEAR.Sunday $app
BEAR.Sunday $app
 
BEAR.Sunday Offline Talk
BEAR.Sunday Offline TalkBEAR.Sunday Offline Talk
BEAR.Sunday Offline Talk
 
BEAR.Sunday Note
BEAR.Sunday NoteBEAR.Sunday Note
BEAR.Sunday Note
 
PHP: Dis Is It
PHP: Dis Is ItPHP: Dis Is It
PHP: Dis Is It
 
The new era of PHP web development.
The new era of PHP web development.The new era of PHP web development.
The new era of PHP web development.
 
BEAR (Suday) design
BEAR (Suday) designBEAR (Suday) design
BEAR (Suday) design
 
BEAR DI
BEAR DIBEAR DI
BEAR DI
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

BEAR Architecture

  • 2. 3 components • Page (Controller) • Resource (Model) • View
  • 3. Resource (Model) Page (Controller) DB File XML Page View Client Resource RO read User?id=5 Private CRUD Resource Access Code Header Page Body View GET /user?id=5 RO Public HTTP Access HTML Bot PC JS Socket CLI REST JSON Mobile Game iPhone XML
  • 4. Internal API on ROA API
  • 5. DB File XML Page Resource Object onCreate onRead onUpdate onDelete read User?id=5 Ro Internal Access with Internal API +Option -int Code mini web read User/Profile?user_id=5 read User/Friend?user_id=5 cache -array Headers resource template -array Body update Footprint/?user_id=5 pager post once exactly Page Controller ROA GET /user?id=5 External Access Bot View JS
  • 6. Page Resource • Resource body Headers code HTTP • or CRUD +URI • PHP
  • 8. DB File XML Page Resource read User?id=5 Ro ROA -int Code API -array Headers -array Body CLI / HTTP / Socket Interface Shell Socket REST Java / Perl / Ruby / Python
  • 9. View Page • • web • comet orbited
  • 10. REST
  • 11. Client - Server (CS) Resource Server • Client Page
  • 12. Client - Stateless - Server (CSS) Resource read User?id=5 • 1 • set id=5; • get User; • Page
  • 13. Client - Cache - Stateless - Server (C$SS) Resource • Resource Cache Page
  • 14. Uniform - Client - Cache - Stateless - Server (UC$SS) Resource onCreate onRead onUpdate onDelete read User?id=5 • getUserName(5) Resource Cache Page
  • 15. Uniform - Layered - Client - Cache - Stateless - Server (ULC$SS) Profile Follower • Cache Cache User • • • Cache Page
  • 17. DB File XML Page Resource Object Resource Cache read User?id=5 Ro with resource template -int Code read User/Profile?user_id=5 read User/Friend?user_id=5 ‘template’ -array Headers update Footprint/?user_id=5 =>user.tpl -string Body Cached resource HTML Init Cache Page Controller Page Cache GET /user?id=5 External Access Bot JS
  • 18. • • • MVC html view