jazz webui framework n.
Skip this Video
Loading SlideShow in 5 Seconds..
Jazz WebUI Framework PowerPoint Presentation
Download Presentation
Jazz WebUI Framework

Loading in 2 Seconds...

play fullscreen
1 / 12

Jazz WebUI Framework - PowerPoint PPT Presentation

Download Presentation
Jazz WebUI Framework
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. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Jazz WebUI Framework

  2. Jazz Eclipse Client Jazz Client Extensions Jazz Client Kernel Eclipse Platform Jazz Platform Architecture – Open Source middleware Jazz Web Client Other Clients HTTP, Web Services, RSS, Atom Apache Derby Jazz Team Server Jazz Server Extensions Web UI Jabber Jazz Server Kernel Eclipse Equinox Apache Tomcat

  3. Deploy OSGI Container in a Servlet Container • OSGI container – servletbridge.jar, jazzservletbridge.jar • core jazz OSGI bundles – JAF, provisionService, oAuth Service, etc..., they are registered in eclipse\configuration\config.ini • Extended Services provisioned by provisionService

  4. Provision Service • Components can be deployed out of OSGI container. This is achieved by provision service • Load sequence: • Start Servlet Container • OSGI container load registered OSGI bundles • Provision Service is activated and look for profiles • Update-site defined in profile is loaded and activated

  5. OSGI Framework Control Config web.xml to enable framework control. Uncomment following two init parameters ... <init-param> <param-name>enableFrameworkControls</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>commandline</param-name> <param-value>-console</param-value> </init-param> Some OSGI command: SS – display the installed bundle list and bundle’s status Start <bundleid> - start the bundle Stop <bundleid> -stop the bundle

  6. Overview Key JAF Structural Elements Dependency Extension net.jazz.ajax Dojo Mozilla Rhino Jazz JSON Marshaling Equinox Server-side

  7. Extension-point: net.jazz.ajax.webBundles Extension Points • Marker extension that the JAF uses to discover the subset of server bundles containing JAF-targeted code • As opposed to bundles containing servlets, web services, etc. • Required for JAF extenders <extension point=“net.jazz.ajax.webBundles”/>

  8. Extension Points Extension-point: net.jazz.ajax.applications • Reserves a URI (or URI pattern) • Total control over UI • Provides a scoping mechanism for other UI elements (e.g. pages) • Examples: Jazz Project UI, Jazz Server Admin UI URI (under context root) to access application Fully-qualified name of ‘class’ implementation <extension id="admin" point="net.jazz.ajax.applications"> <application alias="/admin" jsclass="com.ibm.team.repository.web.ui.internal.admin.AdminApplication" icon="/jazz.ico" statusHandler="com.ibm.team.repository.web.internal.resource.RedirectStatusHandler"/> </extension>

  9. Extension Points Extension-point: net.jazz.ajax.pages • Coarse-grained chunk of UI • Run within one or more applications • Contains a set of one or more bookmarkable “actions” • Examples: “Work Items”, “Iteration Plans”, “Reports” within Jazz Project Area application

  10. Extension Points Extension-point: net.jazz.ajax.pages (con’t) Initial action that runs if a user clicks on a page link Parameter to built-in jazz.viewPage action <extension point="net.jazz.ajax.pages"> <page defaultAction="com.ibm.team.process._defaultAction2" id="com.ibm.team.process.ProcessTemplateManagement" name="%ProcessTemplateManagement" widget="com.ibm.team.process.web.ui.internal.admin.process_templates.ProcessTemplateManagementPage"> <action id="com.ibm.team.process._defaultAction2"> </action> <action id="com.ibm.team.process.manageTemplates"> </action> </page> </extension> Displayed in the user interface Fully-qualified path to widget implementation The set of all (bookmarkable) actions defined for the page (more on this later)

  11. Extension-point: applicationPageBindings Determines in which application(s) which pages will show up <extension point="net.jazz.ajax.applicationPageBindings"> <application id="com.ibm.team.repository.web.admin"> <page id="com.ibm.team.process.projectAreaList"/> <page id="com.ibm.team.repository.server“ default="true"/> <page id="com.ibm.team.repository.users"/> <page id="com.ibm.team.process.ProjectAreaManagement"/> <page id="com.ibm.team.process.ProcessTemplateManagement"/> </application> </extension> It’s different from the mechanism for jazz foundation 0.6, where the page is defined in applicationScope

  12. Inside the JAF JAF Application Startup • A JAF-based application has a sophisticated bootstrapping sequence optimized for a fast, responsive load • Note: This process is invisible to extenders • User browses to a JAF-based application (e.g. /web/myJAFApp) • Equinox server-side passes request to a JAF servlet • The JAF servlet responds with an HTML page (which uses validation-based caching) with: • Inlined CSS • A <script> tag (using expiration-based caching) pointing to a URI that contains the compressed, concatenated “JAF runtime” (basically Dojo + core JAF functionality) and the relevant application code • The extension registry data from all webBundles • A dojo.addOnLoad function that starts the targeted application • The contributed application builds up the basic UI and tells the JAF when it’s done • The JAF runs the initial action which, as a side-effect, loads the code for the initial page (based on the URI) • The JAF monitors the URI for changes to the URI’s hash value