1 / 19

JavaDeus 2008

JavaDeus 2008. a short introduction. circumstances mission some facts concepts environment life demo questions & answers. circumstances. problems with classical Web applications network bandwidth consumption server CPU consumption uncomfortable UI browser/scripting hell

questa
Download Presentation

JavaDeus 2008

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JavaDeus 2008

  2. a short introduction • circumstances • mission • some facts • concepts • environment • life demo • questions & answers

  3. circumstances • problems with • classical Web applications • network bandwidth consumption • server CPU consumption • uncomfortable UI • browser/scripting hell • integration with non-WebApps difficult • fat clients / distributed applications • firewall problem • distribution dilemma • security issues

  4. mission • minimize network bandwidth consumption • reduce server CPU use • have standard UI look-and-feel (Windows) • support flexible distribution • accomplish high security requirements • work with firewalls • be easy to learn • reduce development time and costs • be open for any kind of extensions

  5. facts • first version released in 2003 • 30 products running in sIT Solutions • some of them handles up to 40 requests/second • hugest application has more than 200 screens • ~30 XMA developer in sIT Solutions • 4 architects for support and improvements • new products realized more and more with XMA (instead of .NET) • since March 2008 open source • hosted at Codehaus

  6. concepts • overview • widgets and models • pages • components • launching • deltas

  7. Backend Application-Server BusinessLogic Presentation-Logic Presentation-Logic XMA Download Request WAN Client overview • centralized standard servlet container • presentation code is dynamically shipped to the client upon a new release • then only business data is transported to client

  8. Server Widget- Model sync‘d in server side events Client Widget Widget- Model always sync‘d widgets and models • a widget is an UI element (e.g. Windows control) • a widget is backed up by a widget model on client • a client widget model is mirrored on server side • client and server models are synchronized transparently on server calls

  9. pages • in openXMA server and client page classes are the main implementation zone • an openXMA page is the unit of visibility – in other words something like a screen, dialog, window… Server Page WM1 can access WM2 server event method (RPC) WM3 forces sync calls • client pages have UI event methods ClientPage UI event method WM1 can access • server pages have RPC methods that will be called from client side WM2 WM3

  10. components • an XMA component is the unit of modularity • a component consists of one or more XMA pages • components are referenced with an URL • can be called from other components • can be called from user • every XMA application consists of one or more components

  11. client side comp. server side comp. client side comp. server download ifnecessary call(RPC) client MIME type association start Browser boot runtime launching • the openXMA boot runtime is responsible to load, cache and execute components • downloads necessary libraries (XMA, SWT) too • openXMA applications are launched by • browser (default) • command line call of boot runtime (Eclipse launch)

  12. deltas • every data transfer in XMA is highly optimized • only necessary information will be transferred: • client side code is cached locally • on new versions only binary deltas will be transmitted (at next component usage) • widget model content will be transferred only if changed (and only the changed ones!) • runtime network traffic occurs only, if RPCs are called, what’s in developers hand

  13. environment • project creation wizard • component creation wizard • GUI design editor • business data mapper • source code generator

  14. project creation wizard • creates whole Eclipse project • Ant buid file • Maven pom • necessary directories • properties • sample component and page

  15. component creation wizard • modifies • Ant build • descriptor • creates • a new package • an XMA file • opens • the XMA component file in GUI designer

  16. GUI design editor • creates pages • adds widgets • does layout • edits widgets properties

  17. business data mapper • maps Java Beans to UI widgets

  18. source code generator • creates, based on the openXMA file • generated classes for components and pages, client and server side • developer classes for components and pages, client and server side (only the first time) • a component interface (can be used from other components) • property files with static widget texts (internationalization)

  19. to get involved www.openxma.org

More Related