Developing J2EE Applications Faster - Better - Cheaper with Nexaweb by sus16053

VIEWS: 14 PAGES: 25

									Developing J2EE Applications
  Faster – Better – Cheaper
       with Nexaweb
          Bob Buffone,
           Nexaweb
    What does Nexaweb Do?

   We build an end-to-end J2EE platform that
    allows developers to create Rich Internet
    Applications. These applications can be
    deployed the following ways:
        Ajax front-end
        Java web-based
        Java desktop-based




                          www.javapolis.com
  Key Concerns with Web Applications
Trying to push the envelope




                        www.javapolis.com
  Key Concerns with Web Applications
Trying to push the envelope




                        www.javapolis.com
Faster – It’s all relative




                                            1,079,252,848.8 km/h
                        www.javapolis.com
  Markup + POJO
Simplified Development Model

• User Interface Artifacts
– HTML Files
– Images (gif, jpg, …)
– CSS
– XML UI Files
• Business logic Artifacts
– Client-side – JavaScript or POJO
– Server-side – What ever is required by the framework


                         www.javapolis.com
  Markup + POJO
Simplified Development Model

• User Interface Artifacts
– HTML Files
– Images (gif, jpg, …)       Same as a standard web application

– CSS
– XML UI Files
• Business logic Artifacts
– Client-side – JavaScript or POJO
– Server-side – What ever is required by the framework


                         www.javapolis.com
  Markup + POJO
Simplified Development Model

• User Interface Artifacts
– HTML Files
– Images (gif, jpg, …)       Same as a standard web application

– CSS
– XML UI Files               High level UI and Event definition


• Business logic Artifacts
– Client-side – JavaScript or POJO
– Server-side – What ever is required by the framework


                         www.javapolis.com
   Imagine if this…

<html>

  <body>

     <h1>Nexaweb Intro Meeting</h1>

  </body>

</html>


                                     needed to be…



                        www.javapolis.com
  … this

var element = document.createElement
  ("h1");
element.appendChild
  (document.createTextNode(“Nexaweb
  Intro Meeting"));
document.body.appendChild(element);




                    www.javapolis.com
Markup + POJO Ajax programming Model


      Client-side                                 Benefits




                    JavaScipt Biz Logic
        UI
       XML
   Data Binding
   Data Services
     Engine
    Network




                              www.javapolis.com
Markup + POJO Ajax programming Model


      Client-side                                 Benefits




                    JavaScipt Biz Logic
        UI
       XML
   Data Binding
   Data Services
     Engine
                                                  Visual Tools
    Network




                              www.javapolis.com
Markup + POJO Ajax programming Model


      Client-side                                 Benefits




                    JavaScipt Biz Logic
        UI
       XML
   Data Binding
                                                    Simpler
   Data Services
     Engine
                                                  Visual Tools
    Network




                              www.javapolis.com
Markup + POJO Ajax programming Model


      Client-side                                 Benefits




                    JavaScipt Biz Logic
        UI
                                                  Easy to script
       XML
   Data Binding
                                                     Simpler
   Data Services
     Engine
                                                  Visual Tools
    Network




                              www.javapolis.com
    Eclipse-based Productivity Tool


• Eclipse-based IDE
                                                   Nexaweb Specific Plugins
• WYSIWYG Visual Editor
                                                    Ajax Tools Framework
• Project Creation Wizard
• Drag and Drop data binding                          Data Tools Project
• Event Wizard
                                                      Web Tools Project
• Property Management
                                                         Nexaweb Studio
• Automatic Server Deployment
• Visual Debugging JavaScript and
  Java Business logic



                               www.javapolis.com                              9
Better – Everyone’s ideas are usually different




                     www.javapolis.com
      Model-View-Controller (MVC) Frameworks
                                    Not distributed



               Model   Controller                                     Controller

                   View                 View                      View
                                                                           XHR




                                        View                      View

                                    Model   Controller     Model      Controller




Data Sources




                Client/Server          Web 1.0                   AJAX




                                                      www.javapolis.com            11
      Model-View-Controller (MVC) Frameworks
                                    Not distributed                                Clear separation & distribution



               Model   Controller                                     Controller     Model             Controller

                   View                 View                      View                         View
                                                                           XHR




                                        View                      View

                                    Model   Controller     Model      Controller     Model             Controller




Data Sources




                Client/Server          Web 1.0                   AJAX
                                                                                       Managed
                                                                                         by


                                                      www.javapolis.com                                       11
    Nexaweb’s Distributed MVC Framework


What is the Big Deal?
•   Reduces network traffic by
    distributing business logic                          Model          Controller
    and by updating at the sub-
                                                                 View
    object level
•   Improves performance and
    application response time
•   Enables client side business
    logic                                                Model          Controller

•   Enables disconnected
    operation
                                          Data Sources
•   Separates Model, View and
    Controller to improve
    maintainability as
    application evolves
                                                         Managed
•   Achieves Enterprise Web 2.0!                           by

                                   www.javapolis.com                                 12
    Complete Platform for Building J2EE Applications
                                    Any Browser                              Any Desktop                                Mobile
                                    (.NET, JVM)                              (Win., Linux, Mac)                         (OCC)

                         Component Layer
                                             Ajax                                  Java                             Extensible
    Open Client                          Nexaweb                                 Nexaweb                                HTML

    Architecture                           Dojo
                                           Yui!
                                            ….
                                                                                   Swing
                                                                                  JavaFX
                                                                                    ….
                                                                                                                        Flash
                                                                                                                        .NET
                                                                                                                         ….


                                                    Universal Client Framework

                           Reliable Messaging                        Real-time Server Push                    Polling
Integrated Messaging       Services:                                 Publish/Subscribe                        Request/Response

                                                       Internet Messaging Bus

  Plugs into any
                         Composite Mashups:                          SOAP/REST Web Services                   JDBC/XML APIs
                                                                     Incremental Update                       Enhanced Clustering

  J2EE application                                    Enterprise Data Services
                                                                      Servlet Container

                                 XML/JSON                 SOAP/WSDL                    JMS            JDBC              BPEL




                                                                                                                                         ESB
                                                               (Enterprise Service Bus)

                       Application Stack 1     Application Stack 2       Application Stack 3      Application Stack 4      Application Stack 5




                                   www.javapolis.com
    Customer Reference Architecture

• Developers only worry
  about items in blue.

• POJOs used on client-side
  make development
  simpler. Easier than
  dealing with XML.

• Screen Designer can build
  screens using DnD then
  bind to POJOs




                              www.javapolis.com   14
Cheaper – < Time & < Resources = < Money




                  www.javapolis.com        15
  Supported, backward compatible, Open Source Platform



• XAP (eXtensible Ajax Platform) true
  open source Apache Incubator
  project

  Web services API based on Axis
  Apache project



• Eclipse based development
  leverages DTP, WTP and ATF



• Ajax GUI engine based on dōjō toolkit


                             www.javapolis.com           16
    Proven in over 5,000 Deployments



                Rapid Prototyping                                       Unified Development
                Graphical Design Tools                                  Better Resource Utilization
                ~60% re-use of client and                                ~65% reduction in the amount of
                server components                                        native code required




Change Management                                                                      Agile Development
Loosely Coupled Architecture                                                           Object Oriented Model
~90% reduction in release                                                               ~50% reduction in
management time and cost                                                                development time and cost




                    No Install                                                  Integrated Testing
                    Client Independence                                         Eclipse & Tooling Integration
                    ~70% reduction in                                           ~20% reduction in
                    deployment costs                                            development time and cost
                                            Unparalleled Performance
                                            Distributed MVC framework
                                            ~90% reduction in network traffic



                                                 www.javapolis.com                                                  17
 More Information




• Nexaweb Information
  – www.nexaweb.com
  – dev.nexaweb.com

• Apache XAP
  – incubator.apache.org/xap

• Personal Blog
  – www.rockstarapps.com

                      www.javapolis.com   18

								
To top