SlideShare ist ein Scribd-Unternehmen logo
1 von 63
Downloaden Sie, um offline zu lesen
Building an Embeddable Enterprise Content
Management Core With the Latest Java™
Technologies
   Florent Guillaume     Arnaud Lefevre
   Chief Scientist VP of Sales
   Nuxeo
   www.nuxeo.com

TS-4532

                     2007 JavaOneSM Conference | Session TS-4532 |
Goal of This Session
Learn how a Content Management core is built



   Learn about the design and use of
   Nuxeo™ 5, an embeddable, extensible
   Enterprise Content Management framework
   for Java™ Platform, Enterprise Edition
   (Java™ EE platform) and other platforms.




                      2007 JavaOneSM Conference | Session TS-4532 |   2
Agenda
What Is Enterprise Content Management
What Do We Want to Achieve
Core Framework
Core and High-Level Services
UI Layers
Extensible and Pluggable
Using the Framework

                2007 JavaOneSM Conference | Session TS-4532 |   3
Agenda
What Is Enterprise Content Management
What Do We Want to Achieve
Core Framework
Core and High-Level Services
UI Layers
Extensible and Pluggable
Using the Framework

               2007 JavaOneSM Conference | Session TS-4532 |   4
What Is
Enterprise Content Management?
1990–2000…
    Manufacturing
●


    Supply Chain
●


    HR
●
                                                                        ERP
                                    Unification
    Accounting
●


    Activity Management
●


    Shipping
●




                    2007 JavaOneSM Conference | Session TS-4532 |   5
What Is
Enterprise Content Management?
2000–20...
    Documents (Records, E-Mail, Media)
●


    Acquisition
●


    Search Engine
●


                                                                         ECM
    Archiving              Unification
●


    Collaboration
●


    Web Publishing
●


    Access Control
●


    Compliance
●




                     2007 JavaOneSM Conference | Session TS-4532 |   6
What Is
Enterprise Content Management?
The technologies used to:
       Capture
   ●


       Create
   ●


       Manage
   ●


       Store
   ●


       Preserve
   ●


       Reuse
   ●


       Deliver
   ●


content within the enterprise




                        2007 JavaOneSM Conference | Session TS-4532 |   7
Agenda
What Is Enterprise Content Management
What Do We Want to Achieve
Core Framework
Core and High-Level Services
UI Layers
Extensible and Pluggable
Using the Framework

                2007 JavaOneSM Conference | Session TS-4532 |   8
What Do We Want to Achieve?
    Create a Framework
●


    Make It Extensible
●


    Make It Multi-Platform
●


    Use the Latest Technologies
●


    Open Source
●




                     2007 JavaOneSM Conference | Session TS-4532 |   9
What Do We Want to Achieve?
    Create a Framework
●

        Set of Services
    ●

             Software Bundles
         ●


        Set of APIs
    ●

             Open to other systems
         ●


        Configuration
    ●

             XML rather than code
         ●




                                2007 JavaOneSM Conference | Session TS-4532 |   10
What Do We Want to Achieve?
    Create a Framework
●


    Make It Extensible
●

        New services
    ●

        New backends to existing services
    ●




                         2007 JavaOneSM Conference | Session TS-4532 |   11
What Do We Want to Achieve?
    Create a Framework
●


    Make It Extensible
●


    Make It Multi-Platform
●

        POJOs
    ●

        Java EE platform
    ●

             Clusterable, distributable
         ●


        Eclipse
    ●

             Rich Client Platform (RCP)
         ●


        Mix of those
    ●

             RCP client, Java EE platform server
         ●




                                2007 JavaOneSM Conference | Session TS-4532 |   12
What Do We Want to Achieve?
           Create a Framework
      ●


           Make It Extensible
      ●


           Make It Multi-Platform
      ●


           Use the Latest Technologies
      ●

                Java platform v.5, Java EE 5
            ●

                OSGi
            ●

                JCR (JSR-170, JSR-283), W3C XML Schemas
            ●

                JavaServer Faces™ technology, Facelets
            ●

                BPEL, WfMC
            ●

                SOAP, WSDL
            ●

JSR = Java Specification Request
                                   2007 JavaOneSM Conference | Session TS-4532 |   13
What Do We Want to Achieve?
    Create a Framework
●


    Make It Extensible
●


    Make It Multi-Platform
●


    Use the Latest Technologies
●


    Open Source
●

        LGPL, EPL
    ●

        http://www.nuxeo.org
    ●




                        2007 JavaOneSM Conference | Session TS-4532 |   14
Agenda
What Is Enterprise Content Management
What Do We Want to Achieve
Core Framework
Core and High-Level Services
UI Layers
Extensible and Pluggable
Using the Framework

                2007 JavaOneSM Conference | Session TS-4532 |   15
Core Framework
The basics
    Schemas
●


    Document Types
●


    Life Cycle
●


    Repository
●


    Security
●




                     2007 JavaOneSM Conference | Session TS-4532 |   16
Core Framework
    Schemas
●

        Structure the documents
    ●

        XML Schemas
    ●

        Complex Types
    ●

        Attached Files
    ●




                         2007 JavaOneSM Conference | Session TS-4532 |   17
Core Framework: Schema
DublinCore
<xs:schema>
  <xs:element   name=quot;titlequot; type=quot;xs:stringquot;/>
  <xs:element   name=quot;descriptionquot; type=quot;xs:stringquot;/>
  <xs:element   name=quot;rightsquot; type=quot;xs:stringquot;/>
  <xs:element   name=quot;createdquot; type=quot;xs:datequot;/>
  <xs:element   name=quot;modifiedquot; type=quot;xs:datequot;/>
  <xs:element   name=quot;issuedquot; type=quot;xs:datequot;/>
  <xs:element   name=quot;formatquot; type=quot;xs:stringquot;/>
  <xs:element   name=quot;languagequot; type=quot;xs:stringquot;/>
  ...
</xs:schema>




                      2007 JavaOneSM Conference | Session TS-4532 |   18
Core Framework: Schema Baddies
<xs:schema>
  <xs:complexType name=quot;baddiequot;>
    <xs:sequence>
      <xs:element name=quot;surnamequot; type=quot;xs:stringquot;/>
      <xs:element name=quot;levelquot; type=quot;xs:positiveIntegerquot;/>
      <xs:element name=quot;birthquot; type=quot;xs:datequot;/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name=quot;baddiesquot;>
    <xs:sequence>
      <xs:element name=quot;baddiequot; type=quot;baddiequot;
          minOccurs=quot;0quot; maxOccurs=quot;unboundedquot;/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name=quot;baddiesquot; type=quot;baddiesquot;/>
</xs:schema>


                      2007 JavaOneSM Conference | Session TS-4532 |   19
Core Framework: XML Equivalent
<baddies>
  <baddie>
    <surname>Sylar</surname>
    <level>38</level>
    <birth>1962-06-11</birth>
  </baddie>
</baddies>




                    2007 JavaOneSM Conference | Session TS-4532 |   20
Core Framework
    Schemas
●


    Document Types
●

        High-level name
    ●

        Aggregate schemas
    ●

        Facets
    ●




                       2007 JavaOneSM Conference | Session TS-4532 |   21
Core Framework: Document Type
<doctype name=quot;Notequot; extends=quot;Documentquot;>

  <schema name=quot;dublincorequot;/>
  <schema name=quot;notequot;/>

  <facet name=quot;Commentablequot;/>
  <facet name=quot;Versionablequot;/>
  <facet name=quot;Publishablequot;/>

</doctype>




                    2007 JavaOneSM Conference | Session TS-4532 |   22
Core Framework
    Schemas
●


    Document Types
●


    Life Cycle
●

        States
    ●

        Transitions
    ●




                      2007 JavaOneSM Conference | Session TS-4532 |   23
Core Framework: Life Cycle States
<lifecycle name=quot;defaultquot; initial=quot;projectquot;>
  <states>
    <state name=quot;projectquot;>
      <transitions>
        <transition>approve</transition>
      </transitions>
    </state>
    <state name=quot;approvedquot;>
      <transitions>
        <transition>obsolete</transition>
      </transitions>
    </state>
    <state name=quot;obsoletequot;/>
  </states>
  ...

                    2007 JavaOneSM Conference | Session TS-4532 |   24
Core Framework: Life Cycle
Transitions
<lifecycle name=quot;defaultquot; initial=quot;projectquot;>
  ...
  <transitions>
    <transition name=quot;approvequot; destination=quot;approvedquot;>
      <description>Approve the document</description>
    </transition>
    <transition name=quot;obsoletequot;
destination=quot;obsoletequot;>
      <description>Obsolete the document</description>
    </transition>
  </transitions>

</lifecycle>



                    2007 JavaOneSM Conference | Session TS-4532 |   25
Core Framework
    Schemas
●


    Document Types
●


    Life Cycle
●


    Repository
●

        Hierarchical
    ●

        Versioning
    ●

        Backend
    ●

        API
    ●




                       2007 JavaOneSM Conference | Session TS-4532 |   26
Core Framework: Repository
    Hierarchical
●

        Servers, Domains
    ●

        Tree of documents
    ●


    Versioning
●

        Save, View, Restore
    ●

        Policy
    ●


    Backend
●

        JCR, SQL
    ●


    API
●

        Nuxeo 5, JCR 2 (JSR 283)
    ●


                        2007 JavaOneSM Conference | Session TS-4532 |   27
Core Framework
    Schemas
●


    Document Types
●


    Life Cycle
●


    Repository
●


    Security
●

        Users, Groups
    ●

        Permissions
    ●

        ACLs
    ●




                        2007 JavaOneSM Conference | Session TS-4532 |   28
Core Framework: Security ACLs
    Basic Access Control Entry (ACE)
●

        DENY Read to Anonymous
    ●

        GRANT Write to group:Developers
    ●


    Ordered List
●


    Manipulated by different services
●

        User assignment
    ●

        Workflow
    ●

        Record management locks
    ●


    Placeful and Inherited
●




                       2007 JavaOneSM Conference | Session TS-4532 |   29
Agenda
What Is Enterprise Content Management
What Do We Want to Achieve
Core Framework
Core and High-Level Services
UI Layers
Extensible and Pluggable
Using the Framework

                2007 JavaOneSM Conference | Session TS-4532 |   30
Core Services
Fundamental Services
    Event System
●


    Directories
●


    User Manager
●


    Query
●




                       2007 JavaOneSM Conference | Session TS-4532 |   31
Core Services
    Event System
●

        Synchronous Listeners
    ●

        Low Level
    ●

             Creation, Modification, Deletion
         ●

             Move, Copy
         ●

             Security Changes
         ●


        Bridged to Java Message Service (JMS)
    ●

             Asynchronous Handlers
         ●

             Non-Core components can participate
         ●




                               2007 JavaOneSM Conference | Session TS-4532 |   32
Core Services
    Event System
●


    Directories
●

        Tabular Data
    ●

        Users and Groups
    ●

        Vocabularies
    ●

        Entries are placeless documents
    ●




                         2007 JavaOneSM Conference | Session TS-4532 |   33
Core Services: Directory
<directory name=quot;countryquot;>
  <schema>vocabulary</schema>
  <dataSource>java:/nxsqldirectory</dataSource>
  <table>country</table>
  <idField>id</idField>
  <sqlScript>country.sql</sqlScript>
</directory>

<xs:schema>
  <xs:element name=quot;idquot; type=quot;xs:stringquot;/>
  <xs:element name=quot;labelquot; type=quot;xs:stringquot;/>
  <xs:element name=quot;obsoletequot; type=quot;xs:booleanquot;/>
</xs:schema>



                    2007 JavaOneSM Conference | Session TS-4532 |   34
Core Services
    Event System
●


    Directories
●


    User Manager
●

        Bridge directories and user authentication
    ●

        Interfaces with the application server
    ●

        Global defaults
    ●




                          2007 JavaOneSM Conference | Session TS-4532 |   35
Core Services
    Event System
●


    Directories
●


    User Manager
●


    Query
●

        Multiple Backends
    ●

        Intelligent Dispatcher
    ●

        Query Language: NXQL
    ●




                        2007 JavaOneSM Conference | Session TS-4532 |   36
Core Services: Query
SELECT * FROM Documents WHERE
  dc:title LIKE 'JavaOne%'

SELECT * FROM Documents WHERE
  dc:modified >= TIMESTAMP '2007-01-01T00:00:00'

SELECT * FROM Documents WHERE
  ecm:path STARTSWITH '/customers/proposals'




                    2007 JavaOneSM Conference | Session TS-4532 |   37
High-Level Services
Advanced functionality
    Audit and Logging
●


    Comments
●


    Transformations
●


    Relations
●


    Workflow
●


    Action Manager
●


    Mime Types
●


    Scheduler
●




                         2007 JavaOneSM Conference | Session TS-4532 |   38
Layered Framework: Functional
      View

           Web App                            RCP App                               Flex App




                                                                                                          Nuxeo Runtime
                                     High-Level Services
          Transform                   Audit            Relation                   Indexing          ...
                                      JDBC™
                OOo                                         Jena                    Compass



                                     Nuxeo Core Services
            Storage             Schemas                Versions                   Security          ...
             Jackrabbit

JDBC™ = Java DataBase Connectivity
                                               2007 JavaOneSM Conference | Session TS-4532 |   39
Layered Framework: Workflow

org.nuxeo.ecm.platform.workflow.api
org.nuxeo.ecm.platform.workflow.client
org.nuxeo.ecm.platform.workflow.core
org.nuxeo.ecm.platform.workflow.document
org.nuxeo.ecm.platform.workflow.document-api
org.nuxeo.ecm.platform.workflow.document-facade
org.nuxeo.ecm.platform.workflow.facade
org.nuxeo.ecm.platform.workflow.jbpm




                  2007 JavaOneSM Conference | Session TS-4532 |   40
Layered Framework: Workflow
                               EJB™
                         Seam WF Client



        WF Facade                     Doc Facade



      Workflow API                    WF Doc API                                      Nuxeo Core API
          WF
         Core
                                          Doc Core                                      Nuxeo Core
             jBPM


EJB™ = Enterprise JavaBeans™
                                      2007 JavaOneSM Conference | Session TS-4532 |    41
DEMO




       2007 JavaOneSM Conference | Session TS-4532 |   42
Agenda
What Is Enterprise Content Management
What Do We Want to Achieve
Core Framework
Core and High-Level Services
UI Layers
Extensible and Pluggable
Using the Framework

                2007 JavaOneSM Conference | Session TS-4532 |   43
UI Layers
How the user interacts with the system
    Web
●

        JavaServer Faces technology, Ajax4jsf, Facelets
    ●

        EJB specification Action Listeners
    ●

        JBoss Seam
    ●

        Theming Engine: NXThemes
    ●


    Eclipse RCP
●




                         2007 JavaOneSM Conference | Session TS-4532 |   44
Nuxeo 5 Screenshot




            2007 JavaOneSM Conference | Session TS-4532 |   45
Eclipse Screenshot




             2007 JavaOneSM Conference | Session TS-4532 |   46
Agenda
What Is Enterprise Content Management
What Do We Want to Achieve
Core Framework
Core and High-Level Services
UI Layers
Extensible and Pluggable
Using the Framework

                2007 JavaOneSM Conference | Session TS-4532 |   47
NXRuntime:
Extension Points
  Nuxeo Core                                              Blog Module

Comment Service                                        Blog Extensions


 Type Service
                                                      Storage Module

Storage Service                                     Jackrabbit Storage



                  2007 JavaOneSM Conference | Session TS-4532 |   48
NXRuntime:
Extension Points
<component name=quot;core.TypeServicequot; version=quot;1.0quot;>

  <implementation
      class=quot;org.nuxeo.ecm.core.schema.TypeServicequot;/>

  <extension-point name=quot;schemaquot;>
    <object
class=quot;org.nuxeo.ecm.core.schema.SchemaBinding-
                                           Descriptorquot;/>
  </extension-point>

  <extension-point name=quot;doctypequot;>
    <object class=quot;org.nuxeo.ecm.core.schema.DocumentType-
                                           Descriptorquot;/>
  </extension-point>

</component>

                      2007 JavaOneSM Conference | Session TS-4532 |   49
NXRuntime:
Extension Point Contributions
<component name=quot;MyTypesquot; version=quot;1.0quot;>

  <extension target=quot;core.TypeServicequot; point=quot;schemaquot;>
    <schema name=quot;commonquot; src=quot;common.xsdquot;/>
    <schema name=quot;dublincorequot; src=quot;dublincore.xsdquot;
        prefix=quot;dcquot;/>
  </extension>

  <extension target=quot;core.TypeServicequot; point=quot;doctypequot;>
    <doctype name=quot;Notequot; extends=quot;Documentquot;>
      <schema name=quot;commonquot;/>
      ...
    </doctype>
  </extension>

</component>


                      2007 JavaOneSM Conference | Session TS-4532 |   50
Services Are Pluggable
One implementation isn’t always sufficient
    Internal Service Provider Interfaces (SPI)
●


    Repository Backend
●


    Directory Backend
●


    Workflow Service
●


    Indexing Service
●


    Relation Service
●


    Transformation Service
●




                       2007 JavaOneSM Conference | Session TS-4532 |   51
Plug Into Different Platforms
Run anywhere
    POJO Bundles
●

        OSGi Dependencies
    ●


    Extension Points
●


    Generic Lookup Service
●


    Java EE platform Deployment
●

        JBoss
    ●

        GlassFish
    ●




                       2007 JavaOneSM Conference | Session TS-4532 |   52
Plug Into Java EE Platform:
Problems
    Modules hard to reuse on other platforms
●


    XML module descriptors don’t allow
●

    fragmentation
    Hardcoded package names in code or XML
●


    Cannot add functionality without redeploying
●

    the entire application
    No extension model (plugins)
●




                     2007 JavaOneSM Conference | Session TS-4532 |   53
Plug Into Java EE Platform:
Deployment
    Deployment
●

        Ordering
    ●

        Dynamic Activation
    ●

        Contributed XML descriptors
    ●

             EAR: application.xml, jboss-app.xml
         ●

             WAR: web.xml, faces-config.xml, pages.xml
         ●

             Other: persistence.xml, datasources
         ●


        L10n properties files
    ●


    Services as MBeans
●


    Lookup Service
●




                              2007 JavaOneSM Conference | Session TS-4532 |   54
Plug Into OSGi
    OSGi as Basic Format
●

        Java Archive (JAR)
    ●

        Meta-Information
    ●


    NXRuntime
●

        Extension points
    ●

             Definition
         ●

             Contributions
         ●


        Specialized Deployment
    ●




                             2007 JavaOneSM Conference | Session TS-4532 |   55
Agenda
What Is Enterprise Content Management
What Do We Want to Achieve
Core Framework
Core and High-Level Services
UI Layers
Extensible and Pluggable
Using the Framework

                2007 JavaOneSM Conference | Session TS-4532 |   56
Using the Framework
How to build an application with it
    Contribute to Extension Points
●

        Schemas, Documents
    ●

        Actions
    ●

        Event Listeners
    ●

        Directories
    ●


    XHTML UI
●

        JavaServer Faces technology
    ●


    EJB specification Action Listeners
●

        Seam
    ●


    Deployment Rules
●


                        2007 JavaOneSM Conference | Session TS-4532 |   57
Using the Framework:
JavaServer Faces Technology
<h:outputText value=quot;#{messages['label.edit']}quot;
class=”top”/>
<h:form>
  <h:panelGrid columns=quot;3quot; styleClass=quot;dataInputquot;
      columnClasses=quot;labelColumn,fieldColumnquot;>
    <h:outputText value=quot;#{messages['label.title']}quot;/>
    <h:inputText
value=quot;#{currentDocument.dublincore.title}quot;
        class=quot;dataInputTextquot; id=quot;titlequot; required=quot;truequot;>
      <f:validateLength minimum=quot;5quot;/>
    </h:inputText>
    <h:message styleClass=quot;errorMessagequot; for=quot;titlequot;/>
    <h:outputText value=quot;quot;/>
    <h:commandButton value=quot;#{messages['label.save']}quot;
        styleClass=quot;buttonquot; type=quot;submitquot;
        action=quot;#{documentActions.updateCurrentDocument}quot;/>
</h:form>


                       2007 JavaOneSM Conference | Session TS-4532 |   58
Using the Framework:
Action Listener
@Stateless
@Name(quot;myActionsquot;)
public class MyActionsBean implements MyActions {

    @In(required = true)
    protected Document currentDocument;

    public String doSubmit() throws ClientException {
        String title =
currentDocument.getProperty(quot;dc:titlequot;);
        title += quot; (Captured)quot;;
        currentDocument.setProperty(quot;dc:titlequot;, title);
        currentDocument.save();
        return null;
    }
}


                       2007 JavaOneSM Conference | Session TS-4532 |   59
Summary
    Modular Framework
●


    Flexible Backends
●


    Platform Independent
●


    Easy Extensions
●


    Open Source
●


    We Welcome Your Ideas and Contributions!
●




                    2007 JavaOneSM Conference | Session TS-4532 |   60
For More Information


http://www.nuxeo.org/
http://svn.nuxeo.org/


http://lists.nuxeo.com/mailman/listinfo/ecm




                    2007 JavaOneSM Conference | Session TS-4532 |   61
Q&A
 Florent Guillaume
 Chief Scientist
 Arnaud Lefevre
 VP of Sales



                     2007 JavaOneSM Conference | Session TS-4532 |   62
Building an Embeddable Enterprise Content
Management Core With the Latest Java™
Technologies
   Florent Guillaume     Arnaud Lefevre
   Chief Scientist VP of Sales
   Nuxeo
   www.nuxeo.com

TS-4532

                     2007 JavaOneSM Conference | Session TS-4532 |

Weitere ähnliche Inhalte

Was ist angesagt?

WebLogic Server Work Managers and Overload Protection
WebLogic Server Work Managers and Overload ProtectionWebLogic Server Work Managers and Overload Protection
WebLogic Server Work Managers and Overload ProtectionJames Bayer
 
Weblogic configuration & administration
Weblogic   configuration & administrationWeblogic   configuration & administration
Weblogic configuration & administrationMuhammad Mansoor
 
Weblogic performance tuning2
Weblogic performance tuning2Weblogic performance tuning2
Weblogic performance tuning2Aditya Bhuyan
 
Weblogic 11g admin basic with screencast
Weblogic 11g admin basic with screencastWeblogic 11g admin basic with screencast
Weblogic 11g admin basic with screencastRajiv Gupta
 
WebLogic Administration course outline
WebLogic Administration course outlineWebLogic Administration course outline
WebLogic Administration course outlineVybhava Technologies
 
Oracle Weblogic Server 11g: System Administration I
Oracle Weblogic Server 11g: System Administration IOracle Weblogic Server 11g: System Administration I
Oracle Weblogic Server 11g: System Administration ISachin Kumar
 
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...Jeffrey West
 
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogicHTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogicOracle
 
WebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt PackWebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt PackDLT Solutions
 
WebLogic JMX for DevOps
WebLogic JMX for DevOpsWebLogic JMX for DevOps
WebLogic JMX for DevOpsFrank Munz
 

Was ist angesagt? (20)

WebLogic Server Work Managers and Overload Protection
WebLogic Server Work Managers and Overload ProtectionWebLogic Server Work Managers and Overload Protection
WebLogic Server Work Managers and Overload Protection
 
Weblogic configuration & administration
Weblogic   configuration & administrationWeblogic   configuration & administration
Weblogic configuration & administration
 
Weblogic performance tuning2
Weblogic performance tuning2Weblogic performance tuning2
Weblogic performance tuning2
 
Weblogic 11g admin basic with screencast
Weblogic 11g admin basic with screencastWeblogic 11g admin basic with screencast
Weblogic 11g admin basic with screencast
 
Weblogic server cluster
Weblogic server clusterWeblogic server cluster
Weblogic server cluster
 
WLST
WLSTWLST
WLST
 
WebLogic Administration course outline
WebLogic Administration course outlineWebLogic Administration course outline
WebLogic Administration course outline
 
Apache ActiveMQ
Apache ActiveMQApache ActiveMQ
Apache ActiveMQ
 
Introduction to weblogic
Introduction to weblogicIntroduction to weblogic
Introduction to weblogic
 
Apache ActiveMQ
Apache ActiveMQ Apache ActiveMQ
Apache ActiveMQ
 
WebLogic FAQs
WebLogic FAQsWebLogic FAQs
WebLogic FAQs
 
Oracle WorkManager
Oracle WorkManagerOracle WorkManager
Oracle WorkManager
 
Weblogic
WeblogicWeblogic
Weblogic
 
Oracle Weblogic Server 11g: System Administration I
Oracle Weblogic Server 11g: System Administration IOracle Weblogic Server 11g: System Administration I
Oracle Weblogic Server 11g: System Administration I
 
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
 
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogicHTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
 
WebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt PackWebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt Pack
 
WebLogic for DBAs
WebLogic for DBAsWebLogic for DBAs
WebLogic for DBAs
 
SQL Azure Overview
SQL Azure OverviewSQL Azure Overview
SQL Azure Overview
 
WebLogic JMX for DevOps
WebLogic JMX for DevOpsWebLogic JMX for DevOps
WebLogic JMX for DevOps
 

Andere mochten auch

Memories of SLS0001
Memories of SLS0001Memories of SLS0001
Memories of SLS0001sabambmos
 
Nuxeo & Takoma @ Documation 2008
Nuxeo & Takoma @ Documation 2008Nuxeo & Takoma @ Documation 2008
Nuxeo & Takoma @ Documation 2008Stefane Fermigier
 
Nuxeo: an Open Source ECM software vendor
Nuxeo: an Open Source ECM software vendorNuxeo: an Open Source ECM software vendor
Nuxeo: an Open Source ECM software vendorStefane Fermigier
 
Les enjeux industriels du Cloud - Jean-Hugues Lauret
Les enjeux industriels du Cloud - Jean-Hugues LauretLes enjeux industriels du Cloud - Jean-Hugues Lauret
Les enjeux industriels du Cloud - Jean-Hugues LauretStefane Fermigier
 
OW2 - OSCi (Open Source Cloudware Initiative)
OW2 - OSCi (Open Source Cloudware Initiative)OW2 - OSCi (Open Source Cloudware Initiative)
OW2 - OSCi (Open Source Cloudware Initiative)Stefane Fermigier
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009Stefane Fermigier
 
A Quick Tour of JVM Languages
A Quick Tour of JVM LanguagesA Quick Tour of JVM Languages
A Quick Tour of JVM LanguagesStefane Fermigier
 
Jean-Paul Smets - Free Cloud Alliance
Jean-Paul Smets - Free Cloud AllianceJean-Paul Smets - Free Cloud Alliance
Jean-Paul Smets - Free Cloud AllianceStefane Fermigier
 
Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Stefane Fermigier
 

Andere mochten auch (12)

Memories of SLS0001
Memories of SLS0001Memories of SLS0001
Memories of SLS0001
 
Nuxeo & Takoma @ Documation 2008
Nuxeo & Takoma @ Documation 2008Nuxeo & Takoma @ Documation 2008
Nuxeo & Takoma @ Documation 2008
 
Nuxeo JavaOne 2007
Nuxeo JavaOne 2007Nuxeo JavaOne 2007
Nuxeo JavaOne 2007
 
Four Python Pains
Four Python PainsFour Python Pains
Four Python Pains
 
Demo Cup 2012
Demo Cup 2012Demo Cup 2012
Demo Cup 2012
 
Nuxeo: an Open Source ECM software vendor
Nuxeo: an Open Source ECM software vendorNuxeo: an Open Source ECM software vendor
Nuxeo: an Open Source ECM software vendor
 
Les enjeux industriels du Cloud - Jean-Hugues Lauret
Les enjeux industriels du Cloud - Jean-Hugues LauretLes enjeux industriels du Cloud - Jean-Hugues Lauret
Les enjeux industriels du Cloud - Jean-Hugues Lauret
 
OW2 - OSCi (Open Source Cloudware Initiative)
OW2 - OSCi (Open Source Cloudware Initiative)OW2 - OSCi (Open Source Cloudware Initiative)
OW2 - OSCi (Open Source Cloudware Initiative)
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
 
A Quick Tour of JVM Languages
A Quick Tour of JVM LanguagesA Quick Tour of JVM Languages
A Quick Tour of JVM Languages
 
Jean-Paul Smets - Free Cloud Alliance
Jean-Paul Smets - Free Cloud AllianceJean-Paul Smets - Free Cloud Alliance
Jean-Paul Smets - Free Cloud Alliance
 
Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011
 

Ähnlich wie Nuxeo JavaOne 2007 presentation (in original format)

FlexPod Datacenter for Oracle’s JD Edwards EnterpriseOne
FlexPod Datacenter for Oracle’s JD Edwards EnterpriseOneFlexPod Datacenter for Oracle’s JD Edwards EnterpriseOne
FlexPod Datacenter for Oracle’s JD Edwards EnterpriseOneNetApp
 
MySQL Document Store
MySQL Document StoreMySQL Document Store
MySQL Document StoreMario Beck
 
Oracle WebLogic Multitenancy, Partitions and Resource Sharing... How it works?
Oracle WebLogic Multitenancy, Partitions and Resource Sharing... How it works?Oracle WebLogic Multitenancy, Partitions and Resource Sharing... How it works?
Oracle WebLogic Multitenancy, Partitions and Resource Sharing... How it works?M. Fevzi Korkutata
 
DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)
DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)
DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)dpc
 
Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)camunda services GmbH
 
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
 
Tutorial MySQL com Java
Tutorial MySQL com JavaTutorial MySQL com Java
Tutorial MySQL com JavaMySQL Brasil
 
Apache OFBiz: Real-World Open Source Java Platform ERP
Apache OFBiz: Real-World Open Source Java Platform ERPApache OFBiz: Real-World Open Source Java Platform ERP
Apache OFBiz: Real-World Open Source Java Platform ERPCampus Party Brasil
 
ZZ BC#7.5 asp.net mvc practice and guideline refresh!
ZZ BC#7.5 asp.net mvc practice  and guideline refresh! ZZ BC#7.5 asp.net mvc practice  and guideline refresh!
ZZ BC#7.5 asp.net mvc practice and guideline refresh! Chalermpon Areepong
 
Best practice, Massimo Maffioli - Technology Reply, Cloud Computing, Milano 2...
Best practice, Massimo Maffioli - Technology Reply, Cloud Computing, Milano 2...Best practice, Massimo Maffioli - Technology Reply, Cloud Computing, Milano 2...
Best practice, Massimo Maffioli - Technology Reply, Cloud Computing, Milano 2...Manuela Moroncini
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 
Java ee7 with apache spark for the world's largest credit card core systems, ...
Java ee7 with apache spark for the world's largest credit card core systems, ...Java ee7 with apache spark for the world's largest credit card core systems, ...
Java ee7 with apache spark for the world's largest credit card core systems, ...Rakuten Group, Inc.
 
Stress Your Web App Before It Stresses You: Tools and Techniques for Extreme ...
Stress Your Web App Before It Stresses You: Tools and Techniques for Extreme ...Stress Your Web App Before It Stresses You: Tools and Techniques for Extreme ...
Stress Your Web App Before It Stresses You: Tools and Techniques for Extreme ...elliando dias
 
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-OnFast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-Onelliando dias
 
[SSA] 03.newsql database (2014.02.05)
[SSA] 03.newsql database (2014.02.05)[SSA] 03.newsql database (2014.02.05)
[SSA] 03.newsql database (2014.02.05)Steve Min
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld
 
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-onFast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-onCraig Dickson
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesTarique Saleem
 

Ähnlich wie Nuxeo JavaOne 2007 presentation (in original format) (20)

FlexPod Datacenter for Oracle’s JD Edwards EnterpriseOne
FlexPod Datacenter for Oracle’s JD Edwards EnterpriseOneFlexPod Datacenter for Oracle’s JD Edwards EnterpriseOne
FlexPod Datacenter for Oracle’s JD Edwards EnterpriseOne
 
MySQL Document Store
MySQL Document StoreMySQL Document Store
MySQL Document Store
 
Oracle WebLogic Multitenancy, Partitions and Resource Sharing... How it works?
Oracle WebLogic Multitenancy, Partitions and Resource Sharing... How it works?Oracle WebLogic Multitenancy, Partitions and Resource Sharing... How it works?
Oracle WebLogic Multitenancy, Partitions and Resource Sharing... How it works?
 
DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)
DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)
DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)
 
Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)
 
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
 
Tutorial MySQL com Java
Tutorial MySQL com JavaTutorial MySQL com Java
Tutorial MySQL com Java
 
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS MiddlewareOracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
 
Apache OFBiz: Real-World Open Source Java Platform ERP
Apache OFBiz: Real-World Open Source Java Platform ERPApache OFBiz: Real-World Open Source Java Platform ERP
Apache OFBiz: Real-World Open Source Java Platform ERP
 
ZZ BC#7.5 asp.net mvc practice and guideline refresh!
ZZ BC#7.5 asp.net mvc practice  and guideline refresh! ZZ BC#7.5 asp.net mvc practice  and guideline refresh!
ZZ BC#7.5 asp.net mvc practice and guideline refresh!
 
Best practice, Massimo Maffioli - Technology Reply, Cloud Computing, Milano 2...
Best practice, Massimo Maffioli - Technology Reply, Cloud Computing, Milano 2...Best practice, Massimo Maffioli - Technology Reply, Cloud Computing, Milano 2...
Best practice, Massimo Maffioli - Technology Reply, Cloud Computing, Milano 2...
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
Java ee7 with apache spark for the world's largest credit card core systems, ...
Java ee7 with apache spark for the world's largest credit card core systems, ...Java ee7 with apache spark for the world's largest credit card core systems, ...
Java ee7 with apache spark for the world's largest credit card core systems, ...
 
Ravindra Kumar
Ravindra KumarRavindra Kumar
Ravindra Kumar
 
Stress Your Web App Before It Stresses You: Tools and Techniques for Extreme ...
Stress Your Web App Before It Stresses You: Tools and Techniques for Extreme ...Stress Your Web App Before It Stresses You: Tools and Techniques for Extreme ...
Stress Your Web App Before It Stresses You: Tools and Techniques for Extreme ...
 
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-OnFast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On
 
[SSA] 03.newsql database (2014.02.05)
[SSA] 03.newsql database (2014.02.05)[SSA] 03.newsql database (2014.02.05)
[SSA] 03.newsql database (2014.02.05)
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
 
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-onFast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 

Mehr von Stefane Fermigier

Pitch Abilian - Paris Open Source Summit 2015
Pitch Abilian - Paris Open Source Summit 2015Pitch Abilian - Paris Open Source Summit 2015
Pitch Abilian - Paris Open Source Summit 2015Stefane Fermigier
 
15 ans de politiques publiques du logiciel libre en France
15 ans de politiques publiques du logiciel libre en France15 ans de politiques publiques du logiciel libre en France
15 ans de politiques publiques du logiciel libre en FranceStefane Fermigier
 
Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Stefane Fermigier
 
L'open source professionnel - un business model open source
L'open source professionnel - un business model open sourceL'open source professionnel - un business model open source
L'open source professionnel - un business model open sourceStefane Fermigier
 
Roadmap du GT Logiciel Libre 2013-2020
Roadmap du GT Logiciel Libre 2013-2020Roadmap du GT Logiciel Libre 2013-2020
Roadmap du GT Logiciel Libre 2013-2020Stefane Fermigier
 
Le MOOC powered by Abilian - Plateforme open source de MOOC
Le MOOC powered by Abilian - Plateforme open source de MOOCLe MOOC powered by Abilian - Plateforme open source de MOOC
Le MOOC powered by Abilian - Plateforme open source de MOOCStefane Fermigier
 
Pourquoi le big data open source ?
Pourquoi le big data open source ?Pourquoi le big data open source ?
Pourquoi le big data open source ?Stefane Fermigier
 
Pleniere du GT Logiciel Libre, janvier 2013
Pleniere du GT Logiciel Libre, janvier 2013Pleniere du GT Logiciel Libre, janvier 2013
Pleniere du GT Logiciel Libre, janvier 2013Stefane Fermigier
 
Nuxeo, an open source platform for content-centric business applications
Nuxeo, an open source platform for content-centric business applicationsNuxeo, an open source platform for content-centric business applications
Nuxeo, an open source platform for content-centric business applicationsStefane Fermigier
 
ECM Meets the Semantic Web - Nuxeo World 2011
ECM Meets the Semantic Web - Nuxeo World 2011ECM Meets the Semantic Web - Nuxeo World 2011
ECM Meets the Semantic Web - Nuxeo World 2011Stefane Fermigier
 
GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011Stefane Fermigier
 
Challenges du recrutement pour un editeur de logiciel libre
Challenges du recrutement pour un editeur de logiciel libreChallenges du recrutement pour un editeur de logiciel libre
Challenges du recrutement pour un editeur de logiciel libreStefane Fermigier
 
Open World Forum 2011 - Overview
Open World Forum 2011 - OverviewOpen World Forum 2011 - Overview
Open World Forum 2011 - OverviewStefane Fermigier
 

Mehr von Stefane Fermigier (20)

Pitch Abilian - Paris Open Source Summit 2015
Pitch Abilian - Paris Open Source Summit 2015Pitch Abilian - Paris Open Source Summit 2015
Pitch Abilian - Paris Open Source Summit 2015
 
15 ans de politiques publiques du logiciel libre en France
15 ans de politiques publiques du logiciel libre en France15 ans de politiques publiques du logiciel libre en France
15 ans de politiques publiques du logiciel libre en France
 
Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?
 
L'open source professionnel - un business model open source
L'open source professionnel - un business model open sourceL'open source professionnel - un business model open source
L'open source professionnel - un business model open source
 
Roadmap du GT Logiciel Libre 2013-2020
Roadmap du GT Logiciel Libre 2013-2020Roadmap du GT Logiciel Libre 2013-2020
Roadmap du GT Logiciel Libre 2013-2020
 
Le MOOC powered by Abilian - Plateforme open source de MOOC
Le MOOC powered by Abilian - Plateforme open source de MOOCLe MOOC powered by Abilian - Plateforme open source de MOOC
Le MOOC powered by Abilian - Plateforme open source de MOOC
 
Pitch Abilian mai 2013
Pitch Abilian mai 2013Pitch Abilian mai 2013
Pitch Abilian mai 2013
 
Open Innovation in Action
Open Innovation in ActionOpen Innovation in Action
Open Innovation in Action
 
Pourquoi le big data open source ?
Pourquoi le big data open source ?Pourquoi le big data open source ?
Pourquoi le big data open source ?
 
Save the date OWF 2013
Save the date OWF 2013Save the date OWF 2013
Save the date OWF 2013
 
Ecosystemes logiciel libre
Ecosystemes logiciel libreEcosystemes logiciel libre
Ecosystemes logiciel libre
 
Pleniere du GT Logiciel Libre, janvier 2013
Pleniere du GT Logiciel Libre, janvier 2013Pleniere du GT Logiciel Libre, janvier 2013
Pleniere du GT Logiciel Libre, janvier 2013
 
OWF 2012 Outcome
OWF 2012 OutcomeOWF 2012 Outcome
OWF 2012 Outcome
 
Cours ECM à l'EPITA
Cours ECM à l'EPITACours ECM à l'EPITA
Cours ECM à l'EPITA
 
Nuxeo, an open source platform for content-centric business applications
Nuxeo, an open source platform for content-centric business applicationsNuxeo, an open source platform for content-centric business applications
Nuxeo, an open source platform for content-centric business applications
 
ECM Meets the Semantic Web - Nuxeo World 2011
ECM Meets the Semantic Web - Nuxeo World 2011ECM Meets the Semantic Web - Nuxeo World 2011
ECM Meets the Semantic Web - Nuxeo World 2011
 
Nuxeo at 10
Nuxeo at 10Nuxeo at 10
Nuxeo at 10
 
GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011
 
Challenges du recrutement pour un editeur de logiciel libre
Challenges du recrutement pour un editeur de logiciel libreChallenges du recrutement pour un editeur de logiciel libre
Challenges du recrutement pour un editeur de logiciel libre
 
Open World Forum 2011 - Overview
Open World Forum 2011 - OverviewOpen World Forum 2011 - Overview
Open World Forum 2011 - Overview
 

Kürzlich hochgeladen

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Kürzlich hochgeladen (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

Nuxeo JavaOne 2007 presentation (in original format)

  • 1. Building an Embeddable Enterprise Content Management Core With the Latest Java™ Technologies Florent Guillaume Arnaud Lefevre Chief Scientist VP of Sales Nuxeo www.nuxeo.com TS-4532 2007 JavaOneSM Conference | Session TS-4532 |
  • 2. Goal of This Session Learn how a Content Management core is built Learn about the design and use of Nuxeo™ 5, an embeddable, extensible Enterprise Content Management framework for Java™ Platform, Enterprise Edition (Java™ EE platform) and other platforms. 2007 JavaOneSM Conference | Session TS-4532 | 2
  • 3. Agenda What Is Enterprise Content Management What Do We Want to Achieve Core Framework Core and High-Level Services UI Layers Extensible and Pluggable Using the Framework 2007 JavaOneSM Conference | Session TS-4532 | 3
  • 4. Agenda What Is Enterprise Content Management What Do We Want to Achieve Core Framework Core and High-Level Services UI Layers Extensible and Pluggable Using the Framework 2007 JavaOneSM Conference | Session TS-4532 | 4
  • 5. What Is Enterprise Content Management? 1990–2000… Manufacturing ● Supply Chain ● HR ● ERP Unification Accounting ● Activity Management ● Shipping ● 2007 JavaOneSM Conference | Session TS-4532 | 5
  • 6. What Is Enterprise Content Management? 2000–20... Documents (Records, E-Mail, Media) ● Acquisition ● Search Engine ● ECM Archiving Unification ● Collaboration ● Web Publishing ● Access Control ● Compliance ● 2007 JavaOneSM Conference | Session TS-4532 | 6
  • 7. What Is Enterprise Content Management? The technologies used to: Capture ● Create ● Manage ● Store ● Preserve ● Reuse ● Deliver ● content within the enterprise 2007 JavaOneSM Conference | Session TS-4532 | 7
  • 8. Agenda What Is Enterprise Content Management What Do We Want to Achieve Core Framework Core and High-Level Services UI Layers Extensible and Pluggable Using the Framework 2007 JavaOneSM Conference | Session TS-4532 | 8
  • 9. What Do We Want to Achieve? Create a Framework ● Make It Extensible ● Make It Multi-Platform ● Use the Latest Technologies ● Open Source ● 2007 JavaOneSM Conference | Session TS-4532 | 9
  • 10. What Do We Want to Achieve? Create a Framework ● Set of Services ● Software Bundles ● Set of APIs ● Open to other systems ● Configuration ● XML rather than code ● 2007 JavaOneSM Conference | Session TS-4532 | 10
  • 11. What Do We Want to Achieve? Create a Framework ● Make It Extensible ● New services ● New backends to existing services ● 2007 JavaOneSM Conference | Session TS-4532 | 11
  • 12. What Do We Want to Achieve? Create a Framework ● Make It Extensible ● Make It Multi-Platform ● POJOs ● Java EE platform ● Clusterable, distributable ● Eclipse ● Rich Client Platform (RCP) ● Mix of those ● RCP client, Java EE platform server ● 2007 JavaOneSM Conference | Session TS-4532 | 12
  • 13. What Do We Want to Achieve? Create a Framework ● Make It Extensible ● Make It Multi-Platform ● Use the Latest Technologies ● Java platform v.5, Java EE 5 ● OSGi ● JCR (JSR-170, JSR-283), W3C XML Schemas ● JavaServer Faces™ technology, Facelets ● BPEL, WfMC ● SOAP, WSDL ● JSR = Java Specification Request 2007 JavaOneSM Conference | Session TS-4532 | 13
  • 14. What Do We Want to Achieve? Create a Framework ● Make It Extensible ● Make It Multi-Platform ● Use the Latest Technologies ● Open Source ● LGPL, EPL ● http://www.nuxeo.org ● 2007 JavaOneSM Conference | Session TS-4532 | 14
  • 15. Agenda What Is Enterprise Content Management What Do We Want to Achieve Core Framework Core and High-Level Services UI Layers Extensible and Pluggable Using the Framework 2007 JavaOneSM Conference | Session TS-4532 | 15
  • 16. Core Framework The basics Schemas ● Document Types ● Life Cycle ● Repository ● Security ● 2007 JavaOneSM Conference | Session TS-4532 | 16
  • 17. Core Framework Schemas ● Structure the documents ● XML Schemas ● Complex Types ● Attached Files ● 2007 JavaOneSM Conference | Session TS-4532 | 17
  • 18. Core Framework: Schema DublinCore <xs:schema> <xs:element name=quot;titlequot; type=quot;xs:stringquot;/> <xs:element name=quot;descriptionquot; type=quot;xs:stringquot;/> <xs:element name=quot;rightsquot; type=quot;xs:stringquot;/> <xs:element name=quot;createdquot; type=quot;xs:datequot;/> <xs:element name=quot;modifiedquot; type=quot;xs:datequot;/> <xs:element name=quot;issuedquot; type=quot;xs:datequot;/> <xs:element name=quot;formatquot; type=quot;xs:stringquot;/> <xs:element name=quot;languagequot; type=quot;xs:stringquot;/> ... </xs:schema> 2007 JavaOneSM Conference | Session TS-4532 | 18
  • 19. Core Framework: Schema Baddies <xs:schema> <xs:complexType name=quot;baddiequot;> <xs:sequence> <xs:element name=quot;surnamequot; type=quot;xs:stringquot;/> <xs:element name=quot;levelquot; type=quot;xs:positiveIntegerquot;/> <xs:element name=quot;birthquot; type=quot;xs:datequot;/> </xs:sequence> </xs:complexType> <xs:complexType name=quot;baddiesquot;> <xs:sequence> <xs:element name=quot;baddiequot; type=quot;baddiequot; minOccurs=quot;0quot; maxOccurs=quot;unboundedquot;/> </xs:sequence> </xs:complexType> <xs:element name=quot;baddiesquot; type=quot;baddiesquot;/> </xs:schema> 2007 JavaOneSM Conference | Session TS-4532 | 19
  • 20. Core Framework: XML Equivalent <baddies> <baddie> <surname>Sylar</surname> <level>38</level> <birth>1962-06-11</birth> </baddie> </baddies> 2007 JavaOneSM Conference | Session TS-4532 | 20
  • 21. Core Framework Schemas ● Document Types ● High-level name ● Aggregate schemas ● Facets ● 2007 JavaOneSM Conference | Session TS-4532 | 21
  • 22. Core Framework: Document Type <doctype name=quot;Notequot; extends=quot;Documentquot;> <schema name=quot;dublincorequot;/> <schema name=quot;notequot;/> <facet name=quot;Commentablequot;/> <facet name=quot;Versionablequot;/> <facet name=quot;Publishablequot;/> </doctype> 2007 JavaOneSM Conference | Session TS-4532 | 22
  • 23. Core Framework Schemas ● Document Types ● Life Cycle ● States ● Transitions ● 2007 JavaOneSM Conference | Session TS-4532 | 23
  • 24. Core Framework: Life Cycle States <lifecycle name=quot;defaultquot; initial=quot;projectquot;> <states> <state name=quot;projectquot;> <transitions> <transition>approve</transition> </transitions> </state> <state name=quot;approvedquot;> <transitions> <transition>obsolete</transition> </transitions> </state> <state name=quot;obsoletequot;/> </states> ... 2007 JavaOneSM Conference | Session TS-4532 | 24
  • 25. Core Framework: Life Cycle Transitions <lifecycle name=quot;defaultquot; initial=quot;projectquot;> ... <transitions> <transition name=quot;approvequot; destination=quot;approvedquot;> <description>Approve the document</description> </transition> <transition name=quot;obsoletequot; destination=quot;obsoletequot;> <description>Obsolete the document</description> </transition> </transitions> </lifecycle> 2007 JavaOneSM Conference | Session TS-4532 | 25
  • 26. Core Framework Schemas ● Document Types ● Life Cycle ● Repository ● Hierarchical ● Versioning ● Backend ● API ● 2007 JavaOneSM Conference | Session TS-4532 | 26
  • 27. Core Framework: Repository Hierarchical ● Servers, Domains ● Tree of documents ● Versioning ● Save, View, Restore ● Policy ● Backend ● JCR, SQL ● API ● Nuxeo 5, JCR 2 (JSR 283) ● 2007 JavaOneSM Conference | Session TS-4532 | 27
  • 28. Core Framework Schemas ● Document Types ● Life Cycle ● Repository ● Security ● Users, Groups ● Permissions ● ACLs ● 2007 JavaOneSM Conference | Session TS-4532 | 28
  • 29. Core Framework: Security ACLs Basic Access Control Entry (ACE) ● DENY Read to Anonymous ● GRANT Write to group:Developers ● Ordered List ● Manipulated by different services ● User assignment ● Workflow ● Record management locks ● Placeful and Inherited ● 2007 JavaOneSM Conference | Session TS-4532 | 29
  • 30. Agenda What Is Enterprise Content Management What Do We Want to Achieve Core Framework Core and High-Level Services UI Layers Extensible and Pluggable Using the Framework 2007 JavaOneSM Conference | Session TS-4532 | 30
  • 31. Core Services Fundamental Services Event System ● Directories ● User Manager ● Query ● 2007 JavaOneSM Conference | Session TS-4532 | 31
  • 32. Core Services Event System ● Synchronous Listeners ● Low Level ● Creation, Modification, Deletion ● Move, Copy ● Security Changes ● Bridged to Java Message Service (JMS) ● Asynchronous Handlers ● Non-Core components can participate ● 2007 JavaOneSM Conference | Session TS-4532 | 32
  • 33. Core Services Event System ● Directories ● Tabular Data ● Users and Groups ● Vocabularies ● Entries are placeless documents ● 2007 JavaOneSM Conference | Session TS-4532 | 33
  • 34. Core Services: Directory <directory name=quot;countryquot;> <schema>vocabulary</schema> <dataSource>java:/nxsqldirectory</dataSource> <table>country</table> <idField>id</idField> <sqlScript>country.sql</sqlScript> </directory> <xs:schema> <xs:element name=quot;idquot; type=quot;xs:stringquot;/> <xs:element name=quot;labelquot; type=quot;xs:stringquot;/> <xs:element name=quot;obsoletequot; type=quot;xs:booleanquot;/> </xs:schema> 2007 JavaOneSM Conference | Session TS-4532 | 34
  • 35. Core Services Event System ● Directories ● User Manager ● Bridge directories and user authentication ● Interfaces with the application server ● Global defaults ● 2007 JavaOneSM Conference | Session TS-4532 | 35
  • 36. Core Services Event System ● Directories ● User Manager ● Query ● Multiple Backends ● Intelligent Dispatcher ● Query Language: NXQL ● 2007 JavaOneSM Conference | Session TS-4532 | 36
  • 37. Core Services: Query SELECT * FROM Documents WHERE dc:title LIKE 'JavaOne%' SELECT * FROM Documents WHERE dc:modified >= TIMESTAMP '2007-01-01T00:00:00' SELECT * FROM Documents WHERE ecm:path STARTSWITH '/customers/proposals' 2007 JavaOneSM Conference | Session TS-4532 | 37
  • 38. High-Level Services Advanced functionality Audit and Logging ● Comments ● Transformations ● Relations ● Workflow ● Action Manager ● Mime Types ● Scheduler ● 2007 JavaOneSM Conference | Session TS-4532 | 38
  • 39. Layered Framework: Functional View Web App RCP App Flex App Nuxeo Runtime High-Level Services Transform Audit Relation Indexing ... JDBC™ OOo Jena Compass Nuxeo Core Services Storage Schemas Versions Security ... Jackrabbit JDBC™ = Java DataBase Connectivity 2007 JavaOneSM Conference | Session TS-4532 | 39
  • 41. Layered Framework: Workflow EJB™ Seam WF Client WF Facade Doc Facade Workflow API WF Doc API Nuxeo Core API WF Core Doc Core Nuxeo Core jBPM EJB™ = Enterprise JavaBeans™ 2007 JavaOneSM Conference | Session TS-4532 | 41
  • 42. DEMO 2007 JavaOneSM Conference | Session TS-4532 | 42
  • 43. Agenda What Is Enterprise Content Management What Do We Want to Achieve Core Framework Core and High-Level Services UI Layers Extensible and Pluggable Using the Framework 2007 JavaOneSM Conference | Session TS-4532 | 43
  • 44. UI Layers How the user interacts with the system Web ● JavaServer Faces technology, Ajax4jsf, Facelets ● EJB specification Action Listeners ● JBoss Seam ● Theming Engine: NXThemes ● Eclipse RCP ● 2007 JavaOneSM Conference | Session TS-4532 | 44
  • 45. Nuxeo 5 Screenshot 2007 JavaOneSM Conference | Session TS-4532 | 45
  • 46. Eclipse Screenshot 2007 JavaOneSM Conference | Session TS-4532 | 46
  • 47. Agenda What Is Enterprise Content Management What Do We Want to Achieve Core Framework Core and High-Level Services UI Layers Extensible and Pluggable Using the Framework 2007 JavaOneSM Conference | Session TS-4532 | 47
  • 48. NXRuntime: Extension Points Nuxeo Core Blog Module Comment Service Blog Extensions Type Service Storage Module Storage Service Jackrabbit Storage 2007 JavaOneSM Conference | Session TS-4532 | 48
  • 49. NXRuntime: Extension Points <component name=quot;core.TypeServicequot; version=quot;1.0quot;> <implementation class=quot;org.nuxeo.ecm.core.schema.TypeServicequot;/> <extension-point name=quot;schemaquot;> <object class=quot;org.nuxeo.ecm.core.schema.SchemaBinding- Descriptorquot;/> </extension-point> <extension-point name=quot;doctypequot;> <object class=quot;org.nuxeo.ecm.core.schema.DocumentType- Descriptorquot;/> </extension-point> </component> 2007 JavaOneSM Conference | Session TS-4532 | 49
  • 50. NXRuntime: Extension Point Contributions <component name=quot;MyTypesquot; version=quot;1.0quot;> <extension target=quot;core.TypeServicequot; point=quot;schemaquot;> <schema name=quot;commonquot; src=quot;common.xsdquot;/> <schema name=quot;dublincorequot; src=quot;dublincore.xsdquot; prefix=quot;dcquot;/> </extension> <extension target=quot;core.TypeServicequot; point=quot;doctypequot;> <doctype name=quot;Notequot; extends=quot;Documentquot;> <schema name=quot;commonquot;/> ... </doctype> </extension> </component> 2007 JavaOneSM Conference | Session TS-4532 | 50
  • 51. Services Are Pluggable One implementation isn’t always sufficient Internal Service Provider Interfaces (SPI) ● Repository Backend ● Directory Backend ● Workflow Service ● Indexing Service ● Relation Service ● Transformation Service ● 2007 JavaOneSM Conference | Session TS-4532 | 51
  • 52. Plug Into Different Platforms Run anywhere POJO Bundles ● OSGi Dependencies ● Extension Points ● Generic Lookup Service ● Java EE platform Deployment ● JBoss ● GlassFish ● 2007 JavaOneSM Conference | Session TS-4532 | 52
  • 53. Plug Into Java EE Platform: Problems Modules hard to reuse on other platforms ● XML module descriptors don’t allow ● fragmentation Hardcoded package names in code or XML ● Cannot add functionality without redeploying ● the entire application No extension model (plugins) ● 2007 JavaOneSM Conference | Session TS-4532 | 53
  • 54. Plug Into Java EE Platform: Deployment Deployment ● Ordering ● Dynamic Activation ● Contributed XML descriptors ● EAR: application.xml, jboss-app.xml ● WAR: web.xml, faces-config.xml, pages.xml ● Other: persistence.xml, datasources ● L10n properties files ● Services as MBeans ● Lookup Service ● 2007 JavaOneSM Conference | Session TS-4532 | 54
  • 55. Plug Into OSGi OSGi as Basic Format ● Java Archive (JAR) ● Meta-Information ● NXRuntime ● Extension points ● Definition ● Contributions ● Specialized Deployment ● 2007 JavaOneSM Conference | Session TS-4532 | 55
  • 56. Agenda What Is Enterprise Content Management What Do We Want to Achieve Core Framework Core and High-Level Services UI Layers Extensible and Pluggable Using the Framework 2007 JavaOneSM Conference | Session TS-4532 | 56
  • 57. Using the Framework How to build an application with it Contribute to Extension Points ● Schemas, Documents ● Actions ● Event Listeners ● Directories ● XHTML UI ● JavaServer Faces technology ● EJB specification Action Listeners ● Seam ● Deployment Rules ● 2007 JavaOneSM Conference | Session TS-4532 | 57
  • 58. Using the Framework: JavaServer Faces Technology <h:outputText value=quot;#{messages['label.edit']}quot; class=”top”/> <h:form> <h:panelGrid columns=quot;3quot; styleClass=quot;dataInputquot; columnClasses=quot;labelColumn,fieldColumnquot;> <h:outputText value=quot;#{messages['label.title']}quot;/> <h:inputText value=quot;#{currentDocument.dublincore.title}quot; class=quot;dataInputTextquot; id=quot;titlequot; required=quot;truequot;> <f:validateLength minimum=quot;5quot;/> </h:inputText> <h:message styleClass=quot;errorMessagequot; for=quot;titlequot;/> <h:outputText value=quot;quot;/> <h:commandButton value=quot;#{messages['label.save']}quot; styleClass=quot;buttonquot; type=quot;submitquot; action=quot;#{documentActions.updateCurrentDocument}quot;/> </h:form> 2007 JavaOneSM Conference | Session TS-4532 | 58
  • 59. Using the Framework: Action Listener @Stateless @Name(quot;myActionsquot;) public class MyActionsBean implements MyActions { @In(required = true) protected Document currentDocument; public String doSubmit() throws ClientException { String title = currentDocument.getProperty(quot;dc:titlequot;); title += quot; (Captured)quot;; currentDocument.setProperty(quot;dc:titlequot;, title); currentDocument.save(); return null; } } 2007 JavaOneSM Conference | Session TS-4532 | 59
  • 60. Summary Modular Framework ● Flexible Backends ● Platform Independent ● Easy Extensions ● Open Source ● We Welcome Your Ideas and Contributions! ● 2007 JavaOneSM Conference | Session TS-4532 | 60
  • 62. Q&A Florent Guillaume Chief Scientist Arnaud Lefevre VP of Sales 2007 JavaOneSM Conference | Session TS-4532 | 62
  • 63. Building an Embeddable Enterprise Content Management Core With the Latest Java™ Technologies Florent Guillaume Arnaud Lefevre Chief Scientist VP of Sales Nuxeo www.nuxeo.com TS-4532 2007 JavaOneSM Conference | Session TS-4532 |