SlideShare a Scribd company logo
1 of 19
XEO
         An open source web
        development framework

                      By Pedro Rio




www.xeoframework.org
Agenda
A little background


                             Consulting Firm – based in Portugal   2002 


    Enterprise Web Applications

     Enterprise means...
        Business Objects
     Business Rules                 Permissions
                                                              Our Own Platform
                       Calculation Rules

    Validation Rules          Selection, Filtering, Sorting
                             +

                 Interface
             Form Validation        Messages

2                                                                                11/8/2011
Agenda
Architecture overview

            RUNTIME ARCHITECTURE                  DEVELOPER ARCHITECTURE
    XEO CLIENT CONTROLLER
                                 XEO Modules
    LAYER
            XWC (XEO WEB
             COMPONENTS)


         XEO CORE SYSTEM
      XEO QL        Java API
                                                  . BUSINESS OBJECT DEFINITIONS
                                                  . JAVA FILES
                Permission Layer                  . XWC VIEWERS
                                                  . OTHERS (e.g. Lovs)




          Business Objects                            XEO Builder

                               XEO – DATA LAYER



3                                                                       11/8/2011
Agenda
Business Objects




    Business Object Definition
    Attributes
    Attribute Logic
          Required
          Valid
          Disabled
          Formula (etc...)
          Events
    Methods
    Events
    Permissions




4                                  11/8/2011
Agenda
And more?


     API             Query Language                       Permissions

    Create an instance of a Model
    boObject obj = boManagerBean.createObject(Context,“Book”);

    Set/Get Attribute Values
    obj.getAttribute(“title”).getValueString();
    obj.getAttribute(“edition”).setValueLong(2);

    Update/Delete                            Behavior
    obj.update();                            obj.getAttribute(“title”).isRequired()
    obj.destroy();
                           Transactional Support
                           Query and retrieve lists of results
                           (pages!)
5                                                                            11/8/2011
Agenda
And more?


      API            Query Language                  Permissions

           Select all instances of a Model
          “select Book”

                           Select a single book
                          “select Book where BOUI = ?”


                             Select with restrictions
    “select Book where title = „The Da Vinci Code‟
         and author.name = „Dan Brown‟”

    Select all Authors that edited a book
      “select Book.author”

6                                                             11/8/2011
Agenda
And more?


        API            Query Language                           Permissions
      Built-in Users, Groups and Profiles

      Instance-Level (OPL)                          Model-Level (Policies)
                Design Time                                      Runtime
                        owner (Represents a user/
                  +     group)                          Read Permission
                                                        Attribute “budget”   +
              OPL – Delete Permission (owner)
                                                                                 Managers
                                                                                  Group

    Only the user/group that‟s linked
    through the owner attribute, can delete
                                                         Projects Model
    the instance. Unless... Full Control
    (runtime)                                       You get a permission rule that
                                                    only users of group “Managers”
                                                    can read attribute “budget” in
                                                    instances of “Project”.
7                                                                                     11/8/2011
Agenda
Web Interface

    “JSF-like” Component-based approach

          Form
                          Tab                                         Backing
                                                                       Bean
                          Grid
                                             XEO Viewer
                                                                  Control Component
                                                                       Behavior


     Component Behavior          Renderer



                                                    XEO Runtime

            Integration!

                                                           + Ajax
      Model                      Component
     Definition                   Behavior

8                                                                                11/8/2011
Agenda
XEO Web Components




9                      11/8/2011
Agenda
XEO Web Components




     public class DemoBean extends XEOBaseBean {

     public DataListConnector getDataSource(){
         return new
            XEOObjectListConnector(
              boObjectList.list(getEboContext(), "select Ebo_Perf")
         );
     }

     }




10                                                                      11/8/2011
Agenda
XEO Web Components




     public class DemoBean extends XEOBaseBean {

     public DataListConnector getDataSource(){
         return new
            XEOObjectListConnector(
              boObjectList.list(getEboContext(), "select Ebo_Perf")
         );
     }

     }




11                                                                      11/8/2011
Agenda
XEO Web Components




12                     11/8/2011
Agenda
Use Cases


                  Practical Applications
                                    Public      Transportation
     Finance   Media & Telecom
                                 Institutions




13                                                        11/8/2011
Agenda
Hands-on!




            Demo




14                   11/8/2011
Agenda
Demo Model




             Speaker                    IndividualEvaluation
               Name
                                        Name
                                        Evaluation (List of Values)




                       TalkEvaluation
                       Name
                       Speaker
                       Date
                       Evaluations




15                                                                      11/8/2011
Agenda
Demo Model




                                                IndividualEvaluation
                                                Name
     Speaker                                    Date (Default Value = Today, Disabled)
                                                Evaluation (List of Values)
       Name




               TalkEvalExtended
               Name (Required, 5+ chars)
               Description
               Speaker
               Atendance (DefaultValue = 100)
               Date (Default Value = Today)
               Average
               Evaluations

               CalculateAverage()




16                                                                                         11/8/2011
Agenda
XEO Renderers




17                11/8/2011
Agenda
XEO Renderers




18                11/8/2011
Agenda
XEO Renderers




19                11/8/2011

More Related Content

What's hot

Understanding
Understanding Understanding
Understanding Arun Gupta
 
Connections Administration Toolkit - Product Presentation
Connections Administration Toolkit - Product PresentationConnections Administration Toolkit - Product Presentation
Connections Administration Toolkit - Product PresentationTIMETOACT GROUP
 
[S lide] java_sig-spring-framework
[S lide] java_sig-spring-framework[S lide] java_sig-spring-framework
[S lide] java_sig-spring-frameworkptlong96
 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012Arun Gupta
 
A guide to ADF fusion development
A guide to ADF fusion developmentA guide to ADF fusion development
A guide to ADF fusion developmentDataNext Solutions
 
Liferay hardening principles
Liferay hardening principlesLiferay hardening principles
Liferay hardening principlesAmbientia
 
Workshop OSGI PPT
Workshop OSGI PPTWorkshop OSGI PPT
Workshop OSGI PPTSummer Lu
 
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgJava EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgArun Gupta
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-finalRohit Kelapure
 
PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012Arun Gupta
 
Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the CloudJava EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the CloudArun Gupta
 
Ejb3.1 for the starter
Ejb3.1 for the starterEjb3.1 for the starter
Ejb3.1 for the startershohancse
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...Arun Gupta
 
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUGArun Gupta
 
All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1Markus Eisele
 
Java EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureJava EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureArun Gupta
 

What's hot (20)

struts
strutsstruts
struts
 
Understanding
Understanding Understanding
Understanding
 
Unit iv
Unit ivUnit iv
Unit iv
 
Java beans
Java beansJava beans
Java beans
 
Connections Administration Toolkit - Product Presentation
Connections Administration Toolkit - Product PresentationConnections Administration Toolkit - Product Presentation
Connections Administration Toolkit - Product Presentation
 
[S lide] java_sig-spring-framework
[S lide] java_sig-spring-framework[S lide] java_sig-spring-framework
[S lide] java_sig-spring-framework
 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012
 
Unit 07: Design Patterns and Frameworks (3/3)
Unit 07: Design Patterns and Frameworks (3/3)Unit 07: Design Patterns and Frameworks (3/3)
Unit 07: Design Patterns and Frameworks (3/3)
 
A guide to ADF fusion development
A guide to ADF fusion developmentA guide to ADF fusion development
A guide to ADF fusion development
 
Liferay hardening principles
Liferay hardening principlesLiferay hardening principles
Liferay hardening principles
 
Workshop OSGI PPT
Workshop OSGI PPTWorkshop OSGI PPT
Workshop OSGI PPT
 
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgJava EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
 
PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012
 
Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the CloudJava EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the Cloud
 
Ejb3.1 for the starter
Ejb3.1 for the starterEjb3.1 for the starter
Ejb3.1 for the starter
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
 
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
 
All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1
 
Java EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureJava EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for future
 

Similar to XEO Framework - TDose 2011

WebBee rapid web app development teck stack
WebBee rapid web app development teck stackWebBee rapid web app development teck stack
WebBee rapid web app development teck stackALDAN3
 
Dojo CRUD Components
Dojo CRUD ComponentsDojo CRUD Components
Dojo CRUD ComponentsTom Mahieu
 
Roma introduction and concepts
Roma introduction and conceptsRoma introduction and concepts
Roma introduction and conceptsLuca Garulli
 
SharePoint 2010 Customization Poster
SharePoint 2010 Customization PosterSharePoint 2010 Customization Poster
SharePoint 2010 Customization Posterbrendonschwartz
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repositorynobby
 
Pure Ejb Within An Agile Context
Pure Ejb Within An Agile ContextPure Ejb Within An Agile Context
Pure Ejb Within An Agile ContextNoam Bunder
 
Entity Framework Today (May 2012)
Entity Framework Today (May 2012)Entity Framework Today (May 2012)
Entity Framework Today (May 2012)Julie Lerman
 
Intro JBug Milano - September 2011
Intro JBug Milano - September 2011Intro JBug Milano - September 2011
Intro JBug Milano - September 2011JBug Italy
 
FatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio DevelopersFatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio DevelopersBrian Huff
 
SharePoint - Right Intro To Development
SharePoint - Right Intro To DevelopmentSharePoint - Right Intro To Development
SharePoint - Right Intro To DevelopmentMark Rackley
 
Nuxeo ECM Platform - Technical Overview
Nuxeo ECM Platform - Technical OverviewNuxeo ECM Platform - Technical Overview
Nuxeo ECM Platform - Technical OverviewNuxeo
 
Enyo Hackathon Presentation
Enyo Hackathon PresentationEnyo Hackathon Presentation
Enyo Hackathon PresentationBen Combee
 
Introduction To J Boss Seam
Introduction To J Boss SeamIntroduction To J Boss Seam
Introduction To J Boss Seamashishkulkarni
 
EBS and PDH, a comparision
EBS and PDH, a comparisionEBS and PDH, a comparision
EBS and PDH, a comparisionLarry Sherrod
 
Nuxeo ECM - Architecture Overview - May 2008
Nuxeo ECM - Architecture Overview - May 2008Nuxeo ECM - Architecture Overview - May 2008
Nuxeo ECM - Architecture Overview - May 2008Stefane Fermigier
 
CommercialSystemsBahman.ppt
CommercialSystemsBahman.pptCommercialSystemsBahman.ppt
CommercialSystemsBahman.pptKalsoomTahir2
 
Spagic 3: OSGi Universal Middleware for an effective SOA solution
Spagic 3: OSGi Universal Middleware for an effective SOA solution Spagic 3: OSGi Universal Middleware for an effective SOA solution
Spagic 3: OSGi Universal Middleware for an effective SOA solution SpagoWorld
 

Similar to XEO Framework - TDose 2011 (20)

WebBee rapid web app development teck stack
WebBee rapid web app development teck stackWebBee rapid web app development teck stack
WebBee rapid web app development teck stack
 
Dojo CRUD Components
Dojo CRUD ComponentsDojo CRUD Components
Dojo CRUD Components
 
Roma introduction and concepts
Roma introduction and conceptsRoma introduction and concepts
Roma introduction and concepts
 
SharePoint 2010 Customization Poster
SharePoint 2010 Customization PosterSharePoint 2010 Customization Poster
SharePoint 2010 Customization Poster
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
 
Pure Ejb Within An Agile Context
Pure Ejb Within An Agile ContextPure Ejb Within An Agile Context
Pure Ejb Within An Agile Context
 
Entity Framework Today (May 2012)
Entity Framework Today (May 2012)Entity Framework Today (May 2012)
Entity Framework Today (May 2012)
 
Intro JBug Milano - September 2011
Intro JBug Milano - September 2011Intro JBug Milano - September 2011
Intro JBug Milano - September 2011
 
Intro jbug milano
Intro jbug milanoIntro jbug milano
Intro jbug milano
 
FatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio DevelopersFatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio Developers
 
SharePoint - Right Intro To Development
SharePoint - Right Intro To DevelopmentSharePoint - Right Intro To Development
SharePoint - Right Intro To Development
 
Nuxeo ECM Platform - Technical Overview
Nuxeo ECM Platform - Technical OverviewNuxeo ECM Platform - Technical Overview
Nuxeo ECM Platform - Technical Overview
 
Enyo Hackathon Presentation
Enyo Hackathon PresentationEnyo Hackathon Presentation
Enyo Hackathon Presentation
 
Introduction To J Boss Seam
Introduction To J Boss SeamIntroduction To J Boss Seam
Introduction To J Boss Seam
 
EBS and PDH, a comparision
EBS and PDH, a comparisionEBS and PDH, a comparision
EBS and PDH, a comparision
 
Nuxeo ECM - Architecture Overview - May 2008
Nuxeo ECM - Architecture Overview - May 2008Nuxeo ECM - Architecture Overview - May 2008
Nuxeo ECM - Architecture Overview - May 2008
 
Customizing Oracle EBS OA Framework
Customizing Oracle EBS OA FrameworkCustomizing Oracle EBS OA Framework
Customizing Oracle EBS OA Framework
 
Intershop bo
Intershop boIntershop bo
Intershop bo
 
CommercialSystemsBahman.ppt
CommercialSystemsBahman.pptCommercialSystemsBahman.ppt
CommercialSystemsBahman.ppt
 
Spagic 3: OSGi Universal Middleware for an effective SOA solution
Spagic 3: OSGi Universal Middleware for an effective SOA solution Spagic 3: OSGi Universal Middleware for an effective SOA solution
Spagic 3: OSGi Universal Middleware for an effective SOA solution
 

Recently uploaded

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Recently uploaded (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

XEO Framework - TDose 2011

  • 1. XEO An open source web development framework By Pedro Rio www.xeoframework.org
  • 2. Agenda A little background Consulting Firm – based in Portugal 2002  Enterprise Web Applications Enterprise means... Business Objects Business Rules Permissions Our Own Platform Calculation Rules Validation Rules Selection, Filtering, Sorting + Interface Form Validation Messages 2 11/8/2011
  • 3. Agenda Architecture overview RUNTIME ARCHITECTURE DEVELOPER ARCHITECTURE XEO CLIENT CONTROLLER XEO Modules LAYER XWC (XEO WEB COMPONENTS) XEO CORE SYSTEM XEO QL Java API . BUSINESS OBJECT DEFINITIONS . JAVA FILES Permission Layer . XWC VIEWERS . OTHERS (e.g. Lovs) Business Objects XEO Builder XEO – DATA LAYER 3 11/8/2011
  • 4. Agenda Business Objects Business Object Definition Attributes Attribute Logic Required Valid Disabled Formula (etc...) Events Methods Events Permissions 4 11/8/2011
  • 5. Agenda And more? API Query Language Permissions Create an instance of a Model boObject obj = boManagerBean.createObject(Context,“Book”); Set/Get Attribute Values obj.getAttribute(“title”).getValueString(); obj.getAttribute(“edition”).setValueLong(2); Update/Delete Behavior obj.update(); obj.getAttribute(“title”).isRequired() obj.destroy(); Transactional Support Query and retrieve lists of results (pages!) 5 11/8/2011
  • 6. Agenda And more? API Query Language Permissions Select all instances of a Model “select Book” Select a single book “select Book where BOUI = ?” Select with restrictions “select Book where title = „The Da Vinci Code‟ and author.name = „Dan Brown‟” Select all Authors that edited a book “select Book.author” 6 11/8/2011
  • 7. Agenda And more? API Query Language Permissions Built-in Users, Groups and Profiles Instance-Level (OPL) Model-Level (Policies) Design Time Runtime owner (Represents a user/ + group) Read Permission Attribute “budget” + OPL – Delete Permission (owner) Managers Group Only the user/group that‟s linked through the owner attribute, can delete Projects Model the instance. Unless... Full Control (runtime) You get a permission rule that only users of group “Managers” can read attribute “budget” in instances of “Project”. 7 11/8/2011
  • 8. Agenda Web Interface “JSF-like” Component-based approach Form Tab Backing Bean Grid XEO Viewer Control Component Behavior Component Behavior Renderer XEO Runtime Integration! + Ajax Model Component Definition Behavior 8 11/8/2011
  • 10. Agenda XEO Web Components public class DemoBean extends XEOBaseBean { public DataListConnector getDataSource(){ return new XEOObjectListConnector( boObjectList.list(getEboContext(), "select Ebo_Perf") ); } } 10 11/8/2011
  • 11. Agenda XEO Web Components public class DemoBean extends XEOBaseBean { public DataListConnector getDataSource(){ return new XEOObjectListConnector( boObjectList.list(getEboContext(), "select Ebo_Perf") ); } } 11 11/8/2011
  • 13. Agenda Use Cases Practical Applications Public Transportation Finance Media & Telecom Institutions 13 11/8/2011
  • 14. Agenda Hands-on! Demo 14 11/8/2011
  • 15. Agenda Demo Model Speaker IndividualEvaluation Name Name Evaluation (List of Values) TalkEvaluation Name Speaker Date Evaluations 15 11/8/2011
  • 16. Agenda Demo Model IndividualEvaluation Name Speaker Date (Default Value = Today, Disabled) Evaluation (List of Values) Name TalkEvalExtended Name (Required, 5+ chars) Description Speaker Atendance (DefaultValue = 100) Date (Default Value = Today) Average Evaluations CalculateAverage() 16 11/8/2011